无符号数
表示范围:0-65535有符号数
表示范围: -32768~+32767正值:0负数:1 有符号数(小数)小数:+0.1011表示:
01011 小数点位置在0.1011
小数:-0.1011表示:
1 1011小数点位置在1.1011
+1100 表示:
01100小数点位置在01100.
-1100表示:
11100小数点位置在11100.
真值
把带有"+“ “-”符号的数称为真值机器数
把符号数字化的数称为机器数原码
原码又称为带符号的绝对值表示
整数的符号位与数值位用(逗号)隔开小数的符号位与数值位用(小数点)隔开例子:x=+1110时,原码【x】原=0,1110x=-1110时,原码【x】原=1,1110x=0.1101时,原码【x】原=0.1111x=-0.1101时,原码【x】原=1.1101有原码求真值:原码【x】原=1.0011,得到 x=-0.0011原码【x】原=1,1100,得到 x=-1100原码【x】原=0.1101,得到 x=0.1101原码中的“零”有两种表示方式:【+0.0000】原=0.0000【-0.0000】原=1.0000
补码
只要确定了模,就可以找到一个与负数等价的正数(改正数就是负数的补数),这样就可以把减法运算用到加法实现
正数相对于“模”的补数就是正数本身+7 = +7 (mod 10)一个正数和一个负数互相为补数时,他们俩的绝对值和就是模数-3 = +7 (mod 10)所以补数= |-3| + |7|=10例如:x=+1010 【x】补=0,1010(正数补数为自身)x=-1101 【x】补=1,0011 即(负数: 取反+1)x=0.1001,【x】补=0.1001(正数补数为自身)x=-0.0110,【x】补=1.1010(负数: 取反+1)补码中的0只有一种表达方式:【+0】补=【-0】补=0.0000
已知补码求真值:
(注意先判断正负,负数取反,正数不改变)
反码
x为整数时:
x=+1101时,反码=0,1101(正数反码还是本身)x=-1101时,反码=1,0010(负数反码,除符号位取反)x为小数时:
x=+0.0110时,反码=0.0110x=-0.0110时,反码=1.1101反码中的0有两种表达方式:
【+0.0000】反=0.0000【-0.0000】反=1.1111移码
利用二进制数,比较十进制数21和-21的大小
答:
x=21,对应的二进制数为+10101,【x】补=0,10101
x=-21,对应的二进制数为-10101,【x】补=1,01011
如果按照补码进行比较,则101011 > 010101,答案错误
x=10101 加上2的5次方 10101+100000=110101
x=-10101加上2的5次方 -10101+100000=001011
所以 110101>001011
移码: [x]移=2的n次方 + x
例如:
x=10100 则在【x】移=2*5+ x=100000+10100=1,10100x=-10100 则在【x】移=2*5+ x=100000-10100=0,01100同一个真值的移码和补码仅相差一个符号位x=-10100 则在【x】补=1,01100 【x】移=0,01100