• 大小: 1.24MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-27
  • 语言: C/C++
  • 标签: 整数运算  

资源简介

通过2个64位INT整数实现的128位整数运算,可容易的扩展到更高位数的整数运算。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include “integer256.h“

Sup_int Sup_int::operator = (Sup_int &c)
{
s=c.s;
for(int i=0;i<4;i++)
{
num[i]= c.num[i];
}
return *this;
}

Sup_int Sup_int::operator = (int c)
{
int sign;
sign=c&0x80000000;
if(sign==0)
s=0;
else
s=1;
num[0]=(unsigned int)fabs(c);
return *this;

}



bool Sup_int::operator > (Sup_int &c)
{
if((s==1)&&(c.s==0))
return false;
if((c.s==1)&&(s==0))
return true;
if((s==0)&&(c.s==0))
{
for(int i=3;i>=0;i--)
{
if(num[i]>c.num[i])
    return true;
    else if(num[i]
    return false;
}
    return false;
}
if((s==1)&&(c.s==1))
{
for(int i=3;i>=0;i--)
{
if(num[i]     return true;
    else if(num[i]>c.num[i])
    return false;
}
    return false;
}
}

bool Sup_int::operator > (int c)
{
bool signc;
if((c&0x80000000)==0)
    signc=0;
else
signc=1;
if((s==0)&&(signc==0))
{
if(num[0]>fabs(c))
    return true;
else
    return false;
}
if((s==1)&&(signc==1))
{
if(num[0] return true;
else
return false;
}
if((s==0)&&(signc==1))
     return true;
if((s==1)&&(signc==0))
 return false;
}


bool Sup_int::operator < (Sup_int &c)
{
if((s==0)&&(c.s==1))
return false;
if((c.s==0)&&(s==1))
return true;
if((s==0)&&(c.s==0))
{
for(int i=3;i>=0;i--)
{
if(num[i]     return true;
    else if(num[i]>c.num[i])
    return false;
}
    return false;
}
if((s==1)&&(c.s==1))
{
for(int i=3;i>=0;i--)
{
if(num[i]>c.num[i])
    return true;
    else if(num[i]     return false;
}
    return false;
}
}

bool Sup_int::operator < (int c)
{
Sup_int temp=*this;
bool signc;
if((c&0x80000000)==0)
    signc=0;
else
signc=1;
if((s==0)&&(signc==0))
{
if(num[0] return true;
    else
    return false;
}
if((s==1)&&(signc==1))
{
if(num[0]>fabs(c))
return true;
else
return false;
}
    
if((s==0)&&(signc==1))
     return false;
if((s==1)&&(signc==0))
 return true;
}


bool Sup_int::operator == (Sup_int &c)
{
if(s==c.s)
{
if((num[0]==c.num[0])&&(num[1]==c.num[1])&&(num[2]==c.num[2])&&(num[3]==c.num[3]))
return true;
else
return false;
}
else
return false;
}

bool Sup_int::operator == (int c)
{
if((num[1]==0)&&(num[2]==0)&&(num[3]==0))
{
bool signc;
if(c>=0)
signc=0;
        else
signc=1;
if(((signc==0)&&(s==0))||((signc==1)&&(s==1)))
{
if((c&0x7fffffff)==num[0])
    return true;
else
return false;
}
else
return false;
}
else
     return false;
}

Sup_int Sup_int::Not(Sup_int &c)
{
Sup_int temp;
temp=c;
if(temp.s==0)
temp.s=1;
else
temp.s=0;
return temp;
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     303160  2010-08-31 15:55  integer256\Debug\integer256.exe

     文件     448684  2010-08-31 15:55  integer256\Debug\integer256.ilk

     文件      33786  2010-08-31 15:55  integer256\Debug\integer256.obj

     文件     305208  2010-08-31 15:49  integer256\Debug\integer256.pch

     文件     787456  2010-08-31 15:55  integer256\Debug\integer256.pdb

     文件      13351  2010-08-31 15:49  integer256\Debug\main.obj

     文件      99328  2010-08-31 15:56  integer256\Debug\vc60.idb

     文件     118784  2010-08-31 15:55  integer256\Debug\vc60.pdb

     文件      12241  2010-08-31 15:55  integer256\integer256.cpp

     文件       4452  2010-08-15 10:30  integer256\integer256.dsp

     文件        528  2010-08-11 15:34  integer256\integer256.dsw

     文件       1132  2010-08-27 09:24  integer256\integer256.h

     文件      50176  2010-08-30 09:27  integer256\integer256.ncb

     文件      70656  2010-08-31 14:21  integer256\integer256.opt

     文件       1957  2010-08-31 15:55  integer256\integer256.plg

     文件        191  2010-08-25 00:32  integer256\long int\Cpp1.cpp

     文件       3377  2010-08-25 00:27  integer256\long int\Cpp1.dsp

     文件        516  2010-08-25 00:43  integer256\long int\Cpp1.dsw

     文件      33792  2010-08-25 00:43  integer256\long int\Cpp1.ncb

     文件      48640  2010-08-25 00:43  integer256\long int\Cpp1.opt

     文件       1113  2010-08-25 00:32  integer256\long int\Cpp1.plg

     文件     532539  2010-08-25 00:32  integer256\long int\Debug\Cpp1.exe

     文件     770636  2010-08-25 00:32  integer256\long int\Debug\Cpp1.ilk

     文件     153418  2010-08-25 00:32  integer256\long int\Debug\Cpp1.obj

     文件    2022004  2010-08-25 00:27  integer256\long int\Debug\Cpp1.pch

     文件    1082368  2010-08-25 00:32  integer256\long int\Debug\Cpp1.pdb

     文件      74752  2010-08-25 00:32  integer256\long int\Debug\vc60.idb

     文件     110592  2010-08-25 00:32  integer256\long int\Debug\vc60.pdb

     文件        657  2010-08-31 15:49  integer256\main.cpp

     目录          0  2010-08-25 00:32  integer256\long int\Debug

............此处省略6个文件信息

评论

共有 条评论