我可以在32位机器中添加2个64位数字

时间:2015-11-18 05:37:41

标签: memory 64-bit 32bit-64bit memory-address

我在接受采访时被问到这个问题,起初我的感觉是每个64位数将存储在两个32位存储器位置,然后系统可以根据其Endian规则进行正常的加法运算。但我没有得到关于我的答案是否正确的确认,我一直怀疑。我知道这可能是非常基本但我需要知道。感谢

2 个答案:

答案 0 :(得分:2)

如果没有溢出位,则必须先将31个最低位加在一起,然后检查function scene:create( event ) local sceneGroup = self.view display.setStatusBar( display.HiddenStatusBar ) local group = display.newGroup() -------Set up green buttons local greenButton3=display.newImageRect("images/green-unclicked.png", 520,60) greenButton3.x=display.contentCenterX greenButton3.y=(970) greenButton3.button = 1 sceneGroup :insert(greenButton3) end 位置是否溢出*。然后你正确设置该位。然后将最高32位加在一起,如果溢出*则加1。最高32位的溢出是可以的,并且可以很好地处理二进制补码算法。

答案 1 :(得分:0)

我的答案应该是:

添加2个数字最多可以产生aximu数量的2倍。因此,添加2个32位数最多可以产生33位数。使用cpu的溢出标志,可以使用该位33。通过添加最高有效32位第一位和最低有效位32位并检查溢出位以将1加到最高有效32位部分。

这会回答你的问题吗?