计算机二进制原码、反码、补码

文章转自:二进制、反码、补码详解 以供自己和他人学习

①   原码

  原码是指将最高位作为符号位(0表示正,1表示负),其它数字位代表数值本身的绝对值的数字表示方式。


       例如:数字6 在计算机中原码表示为:0 000 0110

  其中,第一个数字0是符号位,0表示正数,0 000110是数字6的二进制数据表示。

  数字-6 在计算机中原码表示为:1 000 0110

  以上是在8位计算机中的原码表示,如果在32位或16位计算机中,表示方法也是一样的,只是多了几个数字0而已。

  例如,在32位 计算机中数字6 的原码表示为:00000000 0000 0000 0000 0000 0000 0110

  在16位 计算机中数字6 的原码表示为:00000000 0000 0110


②   反码

  反码表示规则为:如果是正数,则表示方法和原码一样;如果是负数,符号位不变,其余各位取反,则得到这个数字的反码表示形式。


  例如,数字6 在8位 计算机中的反码就是它的原码:00000110

  数字-6 在 8位计算机中的反码为:11111001


③   补码

  补码是计算机表示数据的一般方式,其规则为:如果是整数,则表示方法和原码一样;如果是负数,则将数字的反码加上1(相当于将原码数值位取反然后在最低位加1)。


  例如:数字6 在8位 计算机中的补码就是它的原码:00000110

    数字-6 在8 位 计算机中的补码为:1111 1010


注意:0的反码、补码都为零,在计算机中存储的是补码,还原时需要转换为原码。


武功秘籍

原码转补码:二进制取反再+1

补码转原码:二进制-1再取反

正数的原码也就是补码


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值