回 帖 发 新 帖 刷新版面

主题:怎么算一个数的补码?

怎么算一个数的补码?

回复列表 (共1个回复)

沙发

求反后加1
补码就是一个数的相反数,原码+补码=0
在计算机中当数值超出寄存器能表示的范围时,高位被舍掉,假设16位寄器
原码:1010101010101010
反码按位取反:0101010101010101
现在原码+反码=1111111111111111是寄存器能表示的最大值
再加1等于10000000000000000变成17位了,最高位被舍掉变成0000000000000000为0
所以补码为原码求反再加1,原码+补码=0

我来回复

您尚未登录,请登录后再回复。点此登录或注册