黑马程序员技术交流社区
标题:
求补码的运算
[打印本页]
作者:
HM周一帆
时间:
2013-3-25 20:29
标题:
求补码的运算
本帖最后由 ivan5544 于 2013-3-25 20:47 编辑
-10101100这个补码是101010100 怎么计算的
作者:
疯狂程序
时间:
2013-3-25 20:35
本帖最后由 疯狂程序 于 2013-3-25 20:40 编辑
正数是取反+1,负数的是-1 取反
10101100
00000001 -1
------------------------
10101001
--------------------------取反
01010110
例子
负数的二进制的表示形式
6=110
-6:其实就是6的二进制取反+1
0000-0000 0000-0000 0000-0000 0000-0110
1111-1111 1111-1111 1111-1111 1111-1001
1111-1111 1111-1111 1111-1111 1111-1010=-6
负数的最高位都是1
作者:
TK13761
时间:
2013-3-25 20:42
解答 对于负数 求补码规则是 符号位不变后面取反某位 加1
-10101100 的符号位是1 即
110101100 符号位1不变后面取反得到
101010011 某位加1得到
101010100
------------------
补充 求补码规则
一:对于正数,原码和反码,补码都是一样的,都是正数本身。
对于负数,原码是符号位为1,数值部分取X绝对值的二进制。
反码是符号位为1,其它位是原码取反。
补码是符号位为1,其它位是原码取反,未位加1。
也就是说,负数的补码是其反码未位加1。
移码就是将符号位取反的补码
---
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2