二进制补码运算
问题描述:
二进制补码运算
二进制的补码运算下列式子,最高位是符号位
9+(-7)=?
答
数据在内存中以补码形式存储,运算也以补码形式运算,运算结果也是补码.
最高位是符号位,正数时是0,负数时是1.以int类型2字节,16位二进制来算.
9(正数),补码=原码,即 00000000 00001001
-7(负数),补码 = (256 - 负数绝对值,注意符号位补1),即256-7=249,
249为 11111001,所以-7补码为 11111111 11111001
相加如下(缝2进1,结果写0):
------00000000 00001001
--加--11111111 11111001
--------------------------
--得--00000000 00000010
所以结果是 00000000 00000010 ,化为原码,因为最高位是0,代表正数,正数有 原码 = 补码,所以原码为 00000000 00000010 ,化为10进制得 2 .