预习原码补码

预习

一. 机器数和真值

1. 原码

原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:
[1111 1111 , 0111 1111] 即 [-127 , 127]
原码是人脑最容易理解和计算的表示方式.
计算公式:

2.反码

反码的表示方法是:正数的反码是其本身
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反

3.补码

补码的表示方法是: 正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补

4.移码

移码最简单了,不管正负数,只要将其补码的符号位取反即可。
例如: X=-101011 , [X]原= 1010_1011 ,[X]反=1101_0100,[X]补=1101_0101,[X]移=0101_0101

疑难点

把这个几个归纳好用的知识记住差不多就可以了,不过那个模运算有点懵。
负数的反码是将其原码除符号位之外的各位求反
正数的原码,补码和反码都相同
负数的补码是将其原码除符号位之外的各位求反之后在末位再加1
移码最简单了,不管正负数,只要将其补码的符号位取反即可,负数的补码等于模与该负数绝对值之差。
定点整数-逗号隔开,定点小数-小数点隔开。

作业

试题1

二进制数-0111的8位原码是_1000 0111_______。

试题2

二进制数-0111的8位反码是__1111 1000____。

试题3

二进制数-0111的8位补码是_1111 1001_______。

试题4

二进制数-0111的8位移码是__0111 1001______。

试题5

二进制数-0011的8位原码是_1000 0011_______。

试题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,若它是补码,对应的二进制数真值是____-1111101___。

试题26

对于机器码10000001,若它是补码,对应的二进制数真值是___-1111111_____。

试题27

对于机器码00001111,若它是补码,对应的二进制数真值是___+1111_____。

Topspeeder测试

posted @ 2020-09-10 20:44  人潮  阅读(185)  评论(0编辑  收藏  举报