预习原码,补码,移码
作业
试题1
二进制数-0111的8位原码是__10000111______。
试题2
二进制数-0111的8位反码是__11111000______。
试题3
二进制数-0111的8位补码是__11111001______。
试题4
二进制数-0111的8位移码是__01111001______。
试题5
二进制数-0011的8位原码是__10000011______。
试题6
二进制数-0011的8位反码是__11111100______。
试题7
二进制数-0011的8位补码是__11111101______。
试题8
二进制数-0011的8位移码是__01111101______。
试题9
二进制数-0010的8位原码是__1000010______。
试题10
二进制数-0010的8位反码是__1111101______。
试题11
二进制数-0010的8位补码是__1111110______。
试题12
二进制数-0010的8位移码是__0111110______。
试题13
二进制数+0111的8位原码是__00000111______。
试题14
二进制数+0111的8位反码是__00000111______。
试题15
二进制数+0111的8位补码是__00000111______。
试题16
二进制数+0111的8位移码是__10000111_____。
试题17
二进制数+0011的8位原码是__00000011____。
试题18
二进制数+0011的8位反码是__00000011______。
试题19
二进制数+0011的8位补码是__00000011______。
试题20
二进制数+0011的8位移码是__10000011______。
试题21
二进制数+0001的8位原码是__00000001______。
试题22
二进制数+0001的8位反码是__00000001______。
试题23
二进制数+0001的8位补码是__00000001______。
试题24
二进制数+0001的8位移码是__10000001______。
试题25
对于机器码10000011,若它是补码,对应的二进制数真值是_-1111101_______。
试题26
对于机器码10000001,若它是补码,对应的二进制数真值是__-1111111______。
试题27
对于机器码00001111,若它是补码,对应的二进制数真值是__+1111______。
总结笔记:
1.正数的原码,补码和反码都相同
2.负数的反码是将其原码除符号位之外的各位求反
3.负数的补码是将其原码除符号位之外的各位求反之后在末位再加1
4.移码最简单了,不管正负数,只要将其补码的符号位取反即可,负数的补码等于模与该负数绝对值之差。
5.定点整数-逗号隔开,定点小数-小数点隔开
1. 原码
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:
[+1]原 = 0000 0001 [-1]原 = 1000 0001
第一位是是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是: [1111 1111 , 0111 1111] 即 [-127 , 127]
2.反码
知道了原码,那么你只需要具备区分0跟1的能力就可以轻松求出反码,为什么呢?因为反码就是在原码的基础上,符号位不变其他位按位取反(就是0变1,1变0)就可以了。
例如: X=-101011 , [X]原= 1010_1011 ,[X]反=1101_0100
3.补码
补码也非常的简单,就是在反码的基础上按照正常的加法运算加1。
例如: X=-101011 , [X]原= 1010_1011 ,[X]反=1101_0100,[X]补=1101_0101
负数的补码这么记更简单:符号位不变,其他的从低位开始,直到遇见第一个1之前,什么都不变;遇见第一个1后保留这个1,以后按位取反。
例如:[-7]原= 1 000011_1 [-7]补= 1 111100_1
PS:0的补码是唯一的,如果机器字长为8那么[0]补=0000_0000。
4.移码
移码最简单了,不管正负数,只要将其补码的符号位取反即可。
例如: X=-101011 , [X]原= 1010_1011 ,[X]反=1101_0100,[X]补=1101_0101,[X]移=0101_0101
教科书原码、反码、补码求解公式