预习总结
定点数的编码表示:常见的有原码、反码、补码、移码四种编码方式。
1.机器数
一个数在计算机中的二进制表示形式, 叫做这个数的机器数,机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1。
比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011 。那么,这里的 00000011 和 10000011 就是机器数。
2.真值
因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 而不是形式值131(10000011转换成十进制等于131)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。
3.原码
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
4补码
补码的表示方法是:
正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)。
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
5.反码
反码的表示方法是:
正数的反码是其本身
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。
6.移码
移码(又叫增码)是符号位取反的补码,一般用做浮点数的阶码,引入的目的是为了保证浮点数的机器零为全0。
移码的定义:
设由1位符号位和n位数值位组成的阶码,则 [X]移=2En + X -2n≤X ≤ 2n
例如: X= +1011
[X]移=11011 符号位“1”表示正号
X = -1011
[X]移=00101 符号位“0”表示负号
移码与补码的关系:
[X]移与[X]补的关系是符号位互为相反数(仅符号位不同),
例如:X= +1011
[X]补=01011
[X]移=11011
X = -1011
[X]补=10101
[X]移=00101
原码补码作业
试题1
二进制数-0111的8位原码是__1000 0111______。
试题2
二进制数-0111的8位反码是___1111 1000_____。
试题3
二进制数-0111的8位补码是____1111 1001____。
试题4
二进制数-0111的8位移码是___0111 1001_____。
试题5
二进制数-0011的8位原码是____1000 0010____。
试题6
二进制数-0011的8位反码是___1111 1100_____。
试题7
二进制数-0011的8位补码是___1111 1101_____。
试题8
二进制数-0011的8位移码是____0111 1101____。
试题9
二进制数-0010的8位原码是___1000 0010_____。
试题10
二进制数-0010的8位反码是___1111 1101_____。
试题11
二进制数-0010的8位补码是____1111 1110____。
试题12
二进制数-0010的8位移码是___0111 1110_____。
试题13
二进制数+0111的8位原码是___0000 0111_____。
试题14
二进制数+0111的8位反码是____0000 0111____。
试题15
二进制数+0111的8位补码是____0000 0111____。
试题16
二进制数+0111的8位移码是___1000 0111_____。
试题17
二进制数+0011的8位原码是___0000 0011_____。
试题18
二进制数+0011的8位反码是___0000 0011____。
试题19
二进制数+0011的8位补码是___0000 0011_____。
试题20
二进制数+0011的8位移码是____1000 0011____。
试题21
二进制数+0001的8位原码是___0000 0001_____。
试题22
二进制数+0001的8位反码是___0000 0001_____。
试题23
二进制数+0001的8位补码是___0000 0001_____。
试题24
二进制数+0001的8位移码是___1000 0001_____。
试题25
对于机器码10000011,若它是补码,对应的二进制数真值是_-111 1101_______。
试题26
对于机器码10000001,若它是补码,对应的二进制数真值是___-111 1111_____。
试题27
对于机器码00001111,若它是补码,对应的二进制数真值是___+1111_____。