真值 原码 反码 补码 移码

来源:互联网 发布:linux导出mysql数据库 编辑:程序博客网 时间:2024/06/06 21:43

真值:
正数或负数的真值为其绝对值对应的二进制数前面加上正号或负号。
如2的真值为+00000010
   -2的真值为-00000010
(其中正号可以省略)

 

负数

原码:
正数的原码为对应的二进制数,如2的原码为00000010;
负数的原码为其绝对值对应的二进制数的第一位变为1,如-2的原码为10000010
(原码的第一位表示符号位,0表示正,1表示负)

反码:
正数的反码与其原码相同;
负数的反码是对其原码逐位取反,但符号位除外。

补码:
正数的补码与原码相同;
负数的补码是在其反码的末位加1。

移码:
移码是对补码的符号位取反得到的,为了方便比较大小而引入的


举例(以8位二进制数为例):
                     2                   -2

真值   00000010    -00000010
原码 00000010    10000010
反码 00000010    11111101
补码 00000010    11111110
移码 10000010    01111110


                      0                  -0

真值   00000000   -00000000
原码 00000000    10000000
反码 00000000    11111111
补码 00000000    00000000
移码 10000000    10000000

原创粉丝点击