目录
1. 真值与机器数
真值:没有经过编码的直观数据表示方式;带正负号的数据,任何数制均可;正、负号加某进制数绝对值的形式称为真值,即数的 实际值,如+3,-5等
真值是带正负号的数据,任何数据均可
机器数:真值按某种编码方式进行编码后的数值,符号化后的数据表示,带正负号的数据,任何数制均可,符号也被编码 ,可用原码、反码、补码、移码等形式编码
如:X=01011
Y=11011 即真值在机器中的表示,称为机器数,一般可以分为无符号数和有符号数两种
2.原码
0有两种表示法
[+0]原 = 0000 ; [-0]原 = 1000
原码数据表示范围:
定点小数:-1<X<1
定点整数: -2n<X<2n
参与运算复杂,需要将数值位与符号位分开考虑
3. 补码
注意在补码当中的1000...000表示负的最小值
4. 移码
注意移码表示定点整数
移码全0时对应的真值最小,移码全1时对应的真值最大。
真值0在移码中的表示形式是唯一的
移码的0表示形式唯一 100000...000
移码的大小可以直观的反映出对于真值的大小
注意:
正数的反码就是原码,负数的反码等于原码除符号位以外所有的位取反
正数的反码和补码都与原码相同。
负数的反码为对该数的原码除符号位外各位取反。
负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1
同一数值的移码和补码的最高位相反,其他位相同
5. 浮点数
M是尾数,是一个纯小数
R是基数
e为阶码,是一个整数
尾数M是一个纯小数。
基数R
阶码e
6. 浮点数的规格化
注意:
这里的左规和右规是尾数向左移或向右移
例题:
注意需要满足规格化
对于这种题来说,需要注意补码和移码的表示范围,什么时候可以取到最大/最小
其次,需要注意满足规格化
在规格化时需要注意待规格化的数是原码还是补码
浮点数的表示和具体的规定相关,需要根据题目要求来进行具体分析。
7. IEEE754标准
32位IEEE754浮点 1 8 23 数符 阶码(移码) 尾数(原码)相当于float
IEEE754标准当中,阶码用移码来表示。‘尾数需要使用原码来表示
32位对应高级语言当中的float类型
64位对应的是高级语言当中的double类型
注意:
规格化浮点数尾数前面还省略了一个1
注意
尾数为纯小数
8. 校验码
9. 定点加法和减法运算
10. 溢出的概念和检查方法
溢出的判别方法
11. 定点乘法运算
原码的1位乘
符号位单独考虑
原码的两位乘法
部分积采用3符号位
乘数末尾增加1位C
运算顺序: 加
右移两位
给c赋值
注意最后一步的运算
若乘数字长为奇数
部分积符号位全是1时,右移补后左边补的还是1
若乘数字长为偶数
在计算机当中,对于负数来说,保存的是它的补码,使用要用原码的方法,需要先使用求补器
12.定点除法运算
恢复余数法
注意:
最后一步没有一位
原码加减交替法
13. 浮点数的运算方法
舍入的方法:
0舍1入法:被移除的数位的最高数位为0,则舍去;
被移除的数位最高位为1,则在尾数的末尾加1
恒置1法: 只要丢失位中有1,就把尾数的末位置1