-29-25如何用二进制计算
收起
知与谁同
2018-07-19 15:26:46
2709
0
1
条回答
写回答
取消
提交回答
-
二进制中以最高有效位作为符号位,1 表示负数 0是正数。
现在假设 -29 和 -25 最高有效位为 8 位 ,通过正数的二进制 求补运算 取反+1 得到对应负数的二进制
29 的二进制 0001 1101 取反 11110 0010 +1 11110 0011
25 的二进制 0001 1001 取反 11110 0110 +1 11110 0111
得到两个负数的二进制后 -29-25 就变成了 (-29)+(-25) 的加法了
11110 0011
+ 11110 0111
= 11100 1010 这个就是结果了 -54的8位表示
(进位1)
无论-29和-25 用多少位来存储,算法都可如此,
比如你在C中声明了 int a=-29 在C中 int 似乎是 双字,也就是32 位,
29 的二进制变成 0000 0000 0000 0000 0000 0000 0001 1101
-29 就变成 1111 1111 1111 1111 1111 1111 1110 0011
看起来很长,但实质不变
2019-07-17 22:57:36