预习原码补码

预习

定点数的编码表示:原码;补码;反码;移码。一般规定0表示正号,1表示负号。

1.原码

由符号位直接后跟数值位组成。正数和负数的编码表示仅符号位不同,数值部分完全相同。
定点整数的符号位与数值位用逗号隔开,小数用小数点隔开。
如:X=+1110,[X]原=0,1110
X=-1110,[X]原=2^4+1110=1,1110
X=+0.1101,[X]原=0.1101
X=-0.1101,[X]原=1-(-0.1101)=1.1101

2.补码

正数的补码是它本身;负数的补码等于模与该负数绝对值之差,即符号位为 1,对真值部分“各位取反,末位加 1”。
如:X=+1010,[X]补=0,1010
X=-1011000,[X]补=2^(7+1)+(-1011000)=1,0101000
X=+0.1110,[X]补=0.1110
X=-0.1100000,[X]补=2+(-0.1100000)=1.0100000

3.反码

正数的反码都是它本身;负数的反码在原码的基础上,符号位不变,真值部分按位取反。

4.移码

移码只用来表示定点整数
对于n位移码[E]移
1.E的范围:-2(n-1)<=E<=2(n-1)-1。
2.移码0的真值为-2^(n-1)。
3.零的移码表示是唯一的。
4.若将移码第一位看成符号位,则同一个真值的移码和补码仅符号位不同。

试题

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

二进制数-0111的8位反码是_1111 1000__。

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

二进制数-0111的8位移码是_0111 1001__。

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

二进制数-0011的8位反码是_1111 1100__。

二进制数-0011的8位补码是_1111 1101__。

二进制数-0011的8位移码是_0111 1101__。

二进制数-0010的8位原码是_1000 0010__。

二进制数-0010的8位反码是_1111 1101__。

二进制数-0010的8位补码是_1111 1110__。

二进制数-0010的8位移码是_0111 1110__。

二进制数+0111的8位原码是_0000 0111__。

二进制数+0111的8位反码是_0000 0111__。

二进制数+0111的8位补码是_0000 0111__。

二进制数+0111的8位移码是_1000 0111__。

二进制数+0011的8位原码是_0000 0011__。

二进制数+0011的8位反码是_0000 0011__。

二进制数+0011的8位补码是_0000 0011__。

二进制数+0011的8位移码是_1000 0011__。

二进制数+0001的8位原码是_0000 0001__。

二进制数+0001的8位反码是_0000 0001__。

二进制数+0001的8位补码是_0000 0001__。

二进制数+0001的8位移码是_1000 0001__。

对于机器码10000011,若它是补码,对应的二进制数真值是_-1111101__。

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

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

上一篇:运算


下一篇:预习原码补码