今天写了一个关于大整数乘法的程序,开始计算结果并不让人满意,
也就是result=0x305*0x499602D2
result等于多少的问题。
我把结果result定义为:DWORD类型,结果溢出了。
看了一个DWORD,原来是32位,4个字节。因此会溢出,那VC6.0不支持8字节长度的数据格式吗?如long long之类的?
改成double,同样不行。。
后来查看,原来VC6.0支持64位8字节的长整型,为:__int64型(双下划线)
这样就可以了。
__int64 result;
UINT num1=0x305;