数据的表示-(反码,原码,补码,移码)

原码:最高位是符号位,其余低位表示数值的绝对值。
反码:整数的反码与原码相同,负数的反码是其绝对值按位取反,符号位不变
补码:整数的补码与原码相同,负数的补码是其反码末位加1.
移码:补码的符号位取反。

数值1 数值-1 1-1
原码 0000 0001 1000 0001 1000 0010
反码 0000 0001 1111 1110 1111 1111
补码 0000 0001 1111 1111 0000 0000
移码 1000 0001 0111 1111 1000 000

原码:数码个数2^n -1
反码:数码个数2^n -1
补码:数码个数2^n
移码:数码个数2^n

eg:
采用n位补码(包含一个符号位),表示数据,可以直接表示的数值是?
A:2^N
B:-2^N
C:2^(N-1)
D:-2^(N-1)

答案:D
因为再补码里面有一个人为规定,100可以表示为-4,因为0只有一种表示方式是000,所以再补码里面100表示4。

eg:如果“2X”的补码是“90H”,那么X的真值是多少?
A:72
B: -56
C: 56
D: 111

90H ->1001 0000
补码-》反码
1001 0000 -》 1000 1111
反码 -》 原码
1000 1111 -》 1111 0000
原码-》真值
1111 0000 -》第一位是符号位 - 值为0111 0000
二进制转16进制
0111 0000 -》70H
16 -》10进制
70H-》112 = 2* 56
所以是B .-56

猜你喜欢

转载自blog.csdn.net/qq_43611366/article/details/142000897