编程论坛
注册
登录
编程论坛
→
VC++/MFC
如何在64位平台上定义一个128位的整数?请求指导!
无影草
发布于 2012-07-02 16:30, 4032 次点击
在64位平台上定义一个128位的整数,
__int128 不存在,但很需要,是否有妙法 ?
4 回复
#2
zklhp
2012-07-02 16:32
不就类似于在32位实现一个64位的整数么 用两个就可以了
#3
无影草
2012-07-04 08:03
回复 2楼 zklhp
是否能举例 ?谢谢!
#4
zklhp
2012-07-04 10:30
伪代码
我用两位十进制数来演示好了 原理一样
a.heigh = 0;
a.low = 99; //一个单元的最大值 在这里是最大的数
b.heigh = 0;
b.low = 99;
就可以处理四位十进制数了 就相当于64位平台处理128位数呗
那么
a + b 分别加 处理进位
a - b 分别减 处理借位
乘除 你自己想想罢
还有符号位也得处理
其实这里用浮点数就很好 可以表示很大的数 也快 就是不能精确到每一位
#5
无影草
2012-07-05 09:23
回复 4楼 zklhp
__int128 A; __int32 C,D;
A变量是密码,则可用C,D 来替代A。
密码是否相符,是最简单的逻辑判断,
但是,在复杂逻辑判断的情况下,程序变得复杂速度大降。
例:128位的每一位表示围棋的子,要根据A来分析当前棋况。
不知是否还有更好的办法?
谢谢!
1