欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

二进制原码,反码,补码

程序员文章站 2022-07-15 09:42:26
...

正数的原码,反码,补码都相同。

//正1的原码,反码,补码都相同
[+1] = [00000001]= [00000001]= [00000001]//负数的原码:最高位是符号位
//负数的反码:符号位不变,其余各个位取反
//负数的补码:在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
[-1] = [10000001]= [11111110]= [11111111]

在计算机系统中,数值一律用补码来表示和存储。

使用补码,可以将符号位和数值域统一处理;
同时,加法和减法也可以统一处理。

计算机中的二进制数最高位是符号位例如:10000011= -3,最高位1代表的是负值。

A-B=A - (B的补码)=C
0000 0001的真值 = +000 0001 = +11000 0001的真值 =000 0001 =1

1.原码

就是符号位加上真值的绝对值

就是 
1位符号位 + 7位真值位 = 8

第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:

[1111 1111 , 0111 1111]
即:[-127 , 127]

参考:原文

上一篇: B - Parity

下一篇: Parity game