原码、反码、补码

各种数据在计算机中的表现形式称为机器数,其特点是以二进制的方式存储,数的符号用0(正)和1(负)来表示,机器数对应的实际数值为数的真值。为了便于运算,机器数可采用原码,反码,补码等不同的编码方法。

假设机器字长为8,采用二进制位的方式表示数据,最高位为符号位,0表示正,1表示负
1、原码
原码就是符号位加上真值的绝对值。
假设数值X的原码记作[X]原,则:
[+1]原   = 0000 0001       [-1]原   = 1000 0001
[+127]原 = 0111 1111       [-127]原 = 1111 1111
[+10]原  = 0000 1010       [-10]原  = 1000 1010
0的原码有2种表示方式,分别为:
[+0]原  = 0000 0000        [-0]原  = 1000 0000

2、反码
正数的反码就是原码,负数的反码就是其原码按位取反(除符号位)。
假设数值X的反码记作[X]反,则:
[+1]反   = 0000 0001       [-1]反   = 1111 1110
[+127]反 = 0111 1111       [-127]反 = 1000 0000
[+10]反  = 0000 1010       [-10]反  = 1111 0101
0的反码有2种表示方式,分别为:
[+0]反   = 0000 0000       [-0]反   = 1111 1111


3、补码
正数的补码就是原码,负数的补码是其反码+1
假设数值X的补码记作[X]补,则:
[+1]补     = 0000 0001       [-1]补     = 1111 1111
[+127]补 = 0111 1111        [-127]补 = 1000 0001
[+10]补   = 0000 1010       [-10]补   = 1111 0110
0的补码有1种表示方式,为:
[+0]补 = [-0]补 = 0000 0000


总结:
1、正数的原码,反码和补码相同
2、负数的反码是其原码按位取反(除符号位),负数的补码是其反码+1

3、0的表示方式比较特殊

 0的原码有2种表示方式,分别为:[+0]原  = 0000 0000        [-0]原  = 1000 0000

 0的反码有2种表示方式,分别为:[+0]反   = 0000 0000       [-0]反   = 1111 1111
 0的补码有1种表示方式,为: [+0]补 = [-0]补 = 0000 0000

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值