有符号数和无符号数
有符号数对比无符号数要留出一位来表示符号。
机器数和真值
- 机器数:符号数字化
- 带
+
-
号的数字
原码
0正1负,符号位和数值位用,
号相隔
注意: [ + 0 ] 原 ≠ [ − 0 ] 原 [+0]_原 \ne [-0]_原 [+0]原=[−0]原
补码
补数:绝对值之和为模的两数互补
- 一正一负
- 正数补数即自身
补码:原码的数值位取反+1,如:
真值: − 1101 -1101 −1101 -> 原码: 1 , 1101 1,1101 1,1101 -> 数值位取反: 1 , 0010 1,0010 1,0010 -> 数值位+1=>补码: 1 , 0011 1,0011 1,0011
补码表示中,当长度短于机器字长,正数在数值位前面用0补足,负数用1
反码
- [ 正数 ] 反 [正数]_反 [正数]反 = [ 正数 ] [正数] [正数],如: [ + 1101 ] 反 [+1101]_反 [+1101]反 = 0 , 1101 0,1101 0,1101
- [ 负数 ] 反 [负数]_反 [负数]反 = [ 数值位取反 ] [数值位取反] [数值位取反],如: [ − 1101 ] 反 [-1101]_反 [−1101]反 = 1 , 0010 1,0010 1,0010
反码表示中,当长度短于机器字长,正数在数值位前面用0补足,负数用1
注意: [ + 0 ] 反 ≠ [ − 0 ] 反 [+0]_反 \ne [-0]_反 [+0]反=[−0]反
移码
补码取相反数
数据个数
浮点数规格化:SME
- S:符号位
- M:尾数,最高有效位为1
- E:阶码,8位移码