原码补码预习

预习总结

定点数的编码表示:常见的有原码、反码、补码、移码四种编码方式。

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_____。

posted @ 2020-09-10 16:33  湛帅帅  阅读(510)  评论(0编辑  收藏  举报