计算机组成原理 第二章
计组 第二讲 2023.3.2+3.9
运算方法与运算器
按数制分
- 十进制 :机器运算困难
- 二进制 :硬件便于实现
- 十六进制 :便于观察与转换
- 8421BCD 二-十进制:转换简单
按数据格式分
- 真值
- 机器数
按数据的表示范围分
- 定点数:小数点位置固定,数据表示范围小
- 浮点数:小数点位置不固定,数据表示范围较大
按能否表示负数分
- 无符号数:所有位均表示数值,直接用二进制数表示
- 有符号数:有正负之分,最高位为符号位
定点数
小数点位置固定,数据表示范围小
使用不方便,精度较低
存储单元利用率低
纯小数(设采用n+1位数据)
有符号数
是符号位
无符号数
数的机器码表示(有符号数)
原码
表示符号位
所以 结果=符号位+真值的绝对值
+0.110 = 0.110
-0.110 = 1.110
+110 = 0110
-110 = 1110
0有两种表示法,+0 = 0000 , -0 = 1000
数据表示范围:
- 定点小数:-1<X<1
- 定点整数:,n是数位
补码
计算机中机器能表示的数据位数是固定的,运算都是有模运算,超过最大n位表示的高位会被舍弃掉
补码= 反码+1
正数的补码是其本身
计算时,先忽略符号,进行补码的运算,再根据符号与是否为小数或整数,选择前面加1或者加0或者不加
0的唯一表示法 -0的补码 = +0的补码
最小值的补码就是他本身
数据表示范围:
- 定点小数:-1<=X<1
- 定点整数:,n是数位
加减运算规则
-
,减法同理
-
补码的补码就是原码
Warning:
-1的补码是1.000000
由原码求补码
-
除符号位以外,其他各位按位取反,末位再加1
-
从最低位开始,遇到的第一个1以前的各位保持不变,之后各位取反
10001100100 原
11110011100 补
求相反数的补码
连符号位一起各位求反,末位加1
1.1010101
0.0101011
反码
各位取码
移码
用于表示浮点数的阶码
- 用定点整数形式的移码,把真值平移个单位
,
或者直接把符号位取反
浮点数
小数点位置可变,形如科学计数法中的数据表示
M:尾数 是一个纯小数(整数部分为0),表示数据的有效数位,决定精度
R:基数,可以取进制代表的数,表示当前的进制(2,8,10,16)
e:阶码,是一个整数,用于决定小数点在该数的位置,决定大小
1位阶符+m位阶码+1位数符+n位尾数
-
注意,阶符使用移码表示,而数符使用补码表示
-
阶符移码表示的范围是,数符补码表示的范围是
-
规格化要求浮点数为1.0或0.1的形式
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Ichirinko's Blog!