概念区分
-
真值:符合使用习惯的正常数字 ---其实就是普通数字
-
机器数:存到机器里面的形式-----正负号被数字化
0 ----> 正 1 ---->负
eg: +15--------> 0 1111
-8 ---------> 1 1000
-
定点数:小数点位置固定
-
分类:无符号数;有符号数(原码、反码、补码、移码)
-
通常只有无符号整数,没有无符号小数
-
-
-
浮点数:小数点位置不固定 eg:科学计数法
定点数
-
原码:符号位+真值绝对值
-
0 ----> 正
-
1 ---->负
格式:
eg: ( D:10进制,H:16进制,B:2进制)
-
+19D ------------> 19=16+2+1 --------->原 0__ 0 0 1 0 0 1 1
-
-19D-------------> 19=16+2+1 ---------> 原 1__ 0 0 1 0 0 1 1
-
若机器字长为n+1,则数值部分(尾数)占n位,原码整数的表示范围:
-
原码真值0有+0和-0
-
-
反码:正数原码反码相同;负数数值全取反
eg:
+19D --------->原 : 0__ 0 0 1 0 0 1 1
---------->反:0__ 0 0 1 0 0 1 1
-19D ---------> 原 1__ 0 0 1 0 0 1 1
----------> 反:1__ 1 1 0 1 1 0 0
-
若机器字长为n+1,则数值部分(尾数)占n位,反码整数的表示范围:
-
反码真值0有+0和-0
-
补码:正数的补码=原码,负数的补码=反码末位+1(原码先取反,再末位+1)
eg:
-
+19D --------->原 : 0__ 0 0 1 0 0 1 1
--------->反:0__ 0 0 1 0 0 1 1
--------->补: 0__ 0 0 1 0 0 1 1
-
19D ---------> 原 :1__ 0 0 1 0 0 1 1
---------->反:1__ 1 1 0 1 1 0 0
--------->补:1__ 1 1 0 1 1 0 1
-
-
补码真值0只有一种形式
-
若机器字长为n+1,则数值部分(尾数)占n位,移码整数的表示范围:
-
移码:再其补码基础上符号位取反------只能用于表示整数
eg:
-
+19D --------->原 : 0__ 0 0 1 0 0 1 1
--------->反:0__ 0 0 1 0 0 1 1
--------->补: 0__ 0 0 1 0 0 1 1
--------->移:1__ 0 0 1 0 0 1 1
-
19D ---------> 原 :1__ 0 0 1 0 0 1 1
---------->反:1__ 1 1 0 1 1 0 0
--------->补:1__ 1 1 0 1 1 0 1
--------->移:0__ 1 1 0 1 1 0 1
-
-
若机器字长为n+1,则数值部分(尾数)占n位,移码整数的表示范围:
-
移码真值0只有一种形式
总结 :正数时(符号位0),原码反码补码都相同,移码只改变符号位
浮点数
浮点数表示格式:(可以表示更大范围)
阶码通常时带符号纯整数
尾数通常是符号纯小数
通常表示为
M:尾数:决定浮点数所能表示的数值精度-----eg:10.3000
R:基数
E:阶码-----决定浮点数所能表示的数值范围-------eg 几次方
eg: 10.3 × 10^{5}
尾数 10.3
基数 10
阶码 5