资源简介
通过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个文件信息
评论
共有 条评论