(1)正数的补码表示与原码相同;
(2)负数的补码是将原码符号位保持“1”之后,其余各位按位取反,末位再加1便得到补码,即取其原码的反码再加“1”:[x]补=[x]反+1。;
(3)列出 的8位二进制原码,反码和补码并将补码用十六进制表示。
内容拓展:
一、二进制
1、是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。
2、当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用1来表示“开”,0来表示“关”。
二、在计算机中,数的正负号是用0,1表示。
三、真值为正时。其原码,反码,补码完全相同。
四、 真值为负时,其原码就是把负号改为1,其余不变。反码就是负号改为1,其余取反。
五、补码就是在反码的基础上加1,加1时记得是逢2进1。
以8位二进制为例,
正数的原码、反码、补码相同,
负数的反码为:除符号位外,原码各位取反,反码加1,得负数的反码.
下面就对于原码,反码,补码详细分析一下:
原码:将一个整数,转换成二进制,就是其原码。如单字节的5的原码为:0000 0101;-5的原码为1000 0101。
反码:正数的反码就是其原码;负数的反码是将原码中,除符号位以外,每一位取反。如单字节的5的反码为:0000 0101;-5的反码为1111 1010。
补码:正数的补码就是其原码;负数的反码+1就是补码。如单字节的5的补码为:0000 0101;-5的原码为1111 1011。
在计算机中,正数是直接用原码表示的,如单字节5,在计算机中就表示为:0000 0101。
负数用补码表示,如单字节-5,在计算机中表示为1111 1011。
可以通过原码、反码和补码三者的含义及关系来介绍三者之间的换算关系:1、原码原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。比如如果是8位二进制:[+1]原=00000001[-1]原=10000001第一位是符号位。2、反码正数的反码是其本身负数的反码是在其原码的基础上,符号位不变,其余各个位取反.[+1]=[00000001]原=[00000001]反[-1]=[10000001]原=[11111110]反第一位是符号位。3、补码正数的补码就是其本身负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1.(即在反码的基础上+1)[+1]=[00000001]原=[00000001]反=[00000001]补[-1]=[10000001]原=[11111110]反=[11111111]补第一位是符号位。注:补码的补码等于原码,如:-1的补码为11111111,则11111111的反码为10000000补码为10000001(-1的原码)。
补码,有把减法运算变成加法运算的能力。
所以,在计算机中,用补码代表有符号数。
而原码反码,则毫无用处。
因此,在计算机中,并不存在这些垃圾。
不必关心原码反码。只要会求补码,就够用了。
。
已知正数的补码,对其减一、取反,可得与之对应负数的补码。
例如:(+18)补码=0001 0010。
减一:0001 0010-1= 0001 0001。
取反:1110 1110。
即有:(-18)补码=1110 1110。
正数的原码、补码和反码相同。
负数的反码等于原码按位取反,补码等于反码加1。