毕业论文

当前位置: 毕业论文 > 范文 >

原码反码补码详解

时间:2022-09-12 15:54来源:优尔论文
原码 反码 补码详解,原码就是一个整数本来的二进制形式,对于正数,它的反码就是其原码(原码和反码相同);负数的反码是将原码中除符号位以外的所有位(数值位)取反
打赏

1。 原码

将一个整数转换成二进制形式,就是其原码。例如short a = 6; a 的原码就是0000 0000 0000 0110;更改 a 的值a = -18; 此时 a 的原码就是1000 0000 0001 0010。

 

通俗的理解,原码就是一个整数本来的二进制形式。原码 反码 补码详解

 

2。 反码

对于正数,它的反码就是其原码(原码和反码相同);负数的反码是将原码中除符号位以外的所有位(数值位)取反,也就是 0 变成 1,1 变成 0。例如short a = 6; a 的原码和反码都是0000 0000 0000 0110;更改 a 的值a = -18; 此时 a 的反码是1111 1111 1110 1101。

 

3。 补码

对于正数,它的补码就是其原码(原码、反码、补码都相同);负数的补码是其反码加 1。例如short a = 6; a 的原码、反码、补码都是0000 0000 0000 0110;更改 a 的值a = -18; 此时 a 的补码是1111 1111 1110 1110。

 

可以认为,补码是在反码的基础上打了一个补丁,进行了一下修正,所以叫“补码”。

原码 反码 补码详解

原码、反码、补码的概念只对负数有实际意义,对于正数,原码、反码、补码都是一样的。


1、原码、反码、补码的概念

原码 :最高位是符号位,0代表正数,1代表负数,非符号位为该数字绝对值的二进制。

反码:正数的反码与原码一致,负数的反码是对原码按位取反,只是最高位(符号位)不变。 

补码:正数的补码与原码一致,负数的补码是对原码按位取反加1,符号位不变。

例如 十进制数字:5

5=2^2+2^0     101   至少要三位数字   加上符号位   就是4位数字

原码:0101       

反码:0101

补码:0101

例如 十进制数字:-5

5=2^2+2^0     101   至少要三位数字   加上符号位   就是4位数字原码 反码 补码详解

原码:1101

反码:1010

补码:1011

例如 将补码1011  转换为原码

补码:1011

符号位不变,数值位取反:1100

加1后得到原码:1101

补码变成原码的方式是:正数的补码与原码一致,负数的补码按位取反加1,符号位不变

反码变成原码的方式是:正数的反码与原码一致,负数的补码按位取反,符号位不变原码 反码 补码详解

2、原码、反码、补码 0的问题

用4位二进制原码表示0:-0=1000   +0=0000 

用4位二进制反码表示0:-0=1111   +0=0000 

用4位二进制补码表示0:-0=0000   +0=0000 

000  -->  0

111  -->  7

3、原码、反码、补码 表示范围

n+1位数字,绝对值最大的原码是  -(2^n - 1)和 2^n - 1

n+1位数字,绝对值最大的反码是  -(2^n - 1) 和 2^n - 1

n+1位数字,绝对值最大的补码是  -2^n

例如

原码:

二进制无符号000~111      十进制0~ 7  0 ~ 2^3-1

二进制有符号0000~0111    十进制0~7   0 ~ 2^3-1

二进制有符号1111~1000   十进制-7~0   -(2^3-1) ~ 0

综上所述:4位原码的表示范围: -(2^3 - 1) ~ 2^3-1                   

用4位二进制原码表示的范围 1111~0111可以表示15个十进制数字 -(2^3 - 1) ~ 2^3-1 原码反码补码详解:http://www.youerw.com/fanwen/lunwen_99317.html

------分隔线----------------------------
推荐内容