强子的博客

天地有情尽白发,人间无意了沧桑!

计算机原码、反码、补码

一、机器数

一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1
比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011 。那么,这里的 00000011 和 10000011 就是机器数。
取值范围就是:
[1111 1111 , 0111 1111],
即:
[-127 , 127]

二、三码合一

正数的原、反、补码都一样!
记住就好,变化主要在负数上。如果下面的例子看的不明白时再看一遍这句话!!!

三、原码、反码、补码

(1)原码
三点:
1、一个数的原码就是用一个n位的二进制数
2、最高位为符号位:正数为0,负数为1。
3、剩下的n-1位表示该数的绝对值。
例如:
X=+3 , [X]原= 00000011
X=-3 , [X]原= 10000011
(2)反码
因为反码就是在原码的基础上,符号位不变其他位按位取反(就是0变1,1变0)就可以了。
例如:
X=-101011 , [X]原= 10101011 ,[X]反=11010100
(3)补码
就是在反码的基础上按照正常的加法运算加1
例如:
X=-101011 , [X]原= 10101011 ,[X]反=11010100,[X]补=11010101

阅读更多
个人分类: 计算机
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

计算机原码、反码、补码

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭