【操作系统】
什么是原码,反码,补码? 正数5:5的二进制是:00000101原码:00000101//就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。反码:00000101//负数的反码是对其原码逐位取反,但符号位除外。补码:00000101//负数的补码是在其反码的末位加1。------------------------------------------------------负数:-5:5的二进制是:00000101原码:10000101//就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。反码:11111010//负数的反码是对其原码逐位取反,但符号位除外。补码:11111011//负数的补码是在其反码的末位加1。原位:无 反码:无 补码:10000000 1 原码和反码都无法表示, 补码是10000000 2 -128没有反码 3 反码只能表示0到127,-0到-127 4.二进制原码或者8位二进制反码的表示范围是-127 ~ +127,不能表示-128;而8位二进制补码的表示范围是-128 ~ +127,-128的8位二进制补码为10000000。
将负数用补码表示,实际上是实现了一种从[-128, 127]到[0, 255]的映射。如下所示:
+----------------------------+| 255 -1 11111111 || 254 -2 11111110 || 253 -3 11111101 || 252 -4 11111100 || 251 -5 11111011 || 246 -10 11110110 || 236 -20 11101100 || 226 -30 11100010 || 216 -40 11011000 || 206 -50 11001110 || 196 -60 11000100 || 186 -70 10111010 || 156 -100 10011100 || 129 -127 10000001 || 128 -128 10000000 || 127 127 01111111 || 100 100 01100100 || 70 70 01000110 || 60 60 00111100 || 50 50 00110010 || 40 40 00101000 || 30 30 00011110 || 20 20 00010100 || 10 10 00001010 || 5 5 00000101 || 4 4 00000100 || 3 3 00000011 || 2 2 00000010 || 1 1 00000001 || 0 0 00000000 |+----------------------------+操作系统