2015-09-20 59 views
1

我试图执行一些64 bit增加,即:截断整数时,超过64位

a = 0x15151515 
b = 0xFFFFFFFF 
c = a + b 

print hex(c) 

我的问题是,上面的输出:

0x115151514 

我想除了是64 bit并忽略溢出,即预期的输出将是:

0x15151514 

注:我不是吨看截断字符串输出,我想c = 0x15151514。我试图模拟一些64位寄存器操作。

回答

4

然后,只需使用逻辑和操作员&

c = 0xFFFFFFFF & (a+b) 

顺便说,这些是32个的值,而不是64个值(计数F;每两个F是一个字节== 8位,它的八F,所以四个字节,所以32位)。