第三章预习
第三章预习
一、C程序中涉及的运算
1.按位运算
符号|按位OR运算;符号&按位AND运算;符号~表示按位NOT运算;符号^按位XOR运算。
掩码操作:通过与给定的一个位模式进行按位与,可以提取所需要的位,可以对这些位进行“置1” “清0” “1测试” 或"0测试"等。
2.逻辑运算
符号||按位OR运算;符号&&表示AND运算;符号!表示NOT运算。
逻辑运算是非数值计算其操作数只有两个逻辑值:True 和False通常用非0数表示逻辑值True,用全0数表示逻辑值False。
3.移位运算
-
逻辑移位:不考虑符号位,把高(低)位移出,低(高)补0.
-
算术移位:机器码采用有符号数,符号位不参与移位。
-
原码左移、右移都补0,原码算术移位:左移丢1,运算出错,右移丢1,影响精度。
![img]()
-
正数中,原码,补码,反码左右移都补0,负数中,原码左右移补0,补码左移补0、右移补1,反码左右移补1。
(4)位扩展和位截断运算 -
0扩展:用于无符号数,在短的无符号数前添加足够的0。
-
符号扩展:用于补码表示的带符号整数,在短的带符号整数前添加足够多的符号位
4.MIPS指令中涉及的运算


二、基本运算部件
1.串位进位加法器

-
串行进位(行波进位),每一级进位直接依赖于前一级的进位,所以进位信号是逐级形成。
-
最长运算时间主要是由进位信号的传递时间决定的,位数越多延迟时间就越长。
2.并行进位器
![]()
3.带标志加法器

三、定点数乘法运算
1.定点数一位乘法
- 定点原码一位乘法:
- 规则:
![img]()
- 例:
- 人工计算:
![img]()
![img]()
![img]()
- 人工计算:
- 规则:
- 定点补码一位乘法:
- 规则:
![img]()
![img]()
- 例:
![img]()
- 规则:
2.定点原码二位乘法
- 规则:
![img]()
![img]()
- 例:
如果最后一次操作欠下+4X,则最后一次右移2位后还需补充+X操作,+X后不再移位
3.阵列乘法器
- 特点:内部结构规则性强,适于用超大规模集成电路实现
![img]()
四,定点数除法运算
1.定点除法运算
- 特点:
![img]()
- 恢复余数法:
- 规则:
![img]()
- 特点:当某一次减Y的差值为负时,要多一次加Y恢复余数的操作,在计算机很少采用
- 规则:
- 加减交替法:
- 规则:
![img]()
- 特点:不恢复余数的除法方案
- 例:
![img]()
- 规则:
2.提高除法运算速度的方法举例
- 跳0跳1除法:
- 规则:
![img]()
- 例:
![img]()
- 规则:
- 通过乘法操作实现:
- 规则:
![img]()
- 例:
![img]()
- 规则:
五、浮点数的运算方法
1.浮点数的加减法运算
- 规则:
- 流程图:
![img]()
- 流程:
![img]()
![img]()
- 流程图:
- 例:
![img]()
2.浮点数的乘除法运算
- 规则:
![img]()
![img]()
- 例:
- 特点:
![img]()











如果最后一次操作欠下+4X,则最后一次右移2位后还需补充+X操作,+X后不再移位






















浙公网安备 33010602011771号