-29-25如何用二进制计算
答案:1 悬赏:10 手机版
解决时间 2021-03-27 01:58
- 提问者网友:捧腹剧
- 2021-03-26 05:18
-29-25如何用二进制计算
最佳答案
- 五星知识达人网友:患得患失的劫
- 2021-03-26 06:57
二进制中以最高有效位作为符号位,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
看起来很长,但实质不变
现在假设 -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
看起来很长,但实质不变
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯