第三章预习
一.高级语言和机器指令中的运算
1,按位运算:符号|按位OR运算;符号&按位AND运算;符号~表示按位NOT运算;符号^按位XOR运算。
实现掩码操作:通过与给定的一个位模式进行按位与,可以提取所需要的位,对这些位进行“置1” “清0”等。
2,符号||按位OR运算;符号&&表示AND运算;符号!表示NOT运算。
3,移位运算辑移位和算术移位。
逻辑移位:不考虑符号位,把高(低)位移出,低(高)补0.
原码的移位:原码算术移位:左移丢1,运算会出错,右移丢1,会影响精度
补码的移位:正数中,原码,补码,反码左右移都补0,负数中,原码左右移补0,补码左移补0、右移补1,反码左右移补1。
4,位扩展和位截断运算
两种位扩展方式:0扩展和符号扩展。0扩展用于无符号数,符号扩展用于补码表示的带符号整数
二.基本运算部件
1,串行进位加法器
串行进方式:n位加法器,X与Y逐位相加,位间进位串行传送。
只有一个全加器,数据逐位串行送入加法器中进行运算。进位触发器用来寄存进位信号,以便参与下一次运算。
行进位加法器速度慢的主要原因是进位按串行方式传递,高位进位依赖低位进位。
2,并行进位加法器
用n位全加器实现两个n位操作数各位同时相加,这种加法器称为并行加法器。并行加法器中全加器的个数与操作数的位数相同。
并行加法器中全加器的位数与操作数的位数相同,可同时对操作数的各位相加。
计算机内部大多采用两级或多级先行进位加法器。
3,带标志加法器
三.定点数运算
1,补码加减法
运算表达式
判断是否溢出
2,原码加减运算
比较两个操作数的符号,对加法实行“同号求和,异号求差”,对减法实行“异号求和,同号求差
求和时,数值位相加,若最高位产生进位则结果溢出
求差时,被加数数值位加上加数数值位的补码
3.2原码的加减法运算
加法实行“同号求和,异号求差”,对减法实行“异号求和,同号求差”。
求和时,数值位相加,若最高位进位则结果溢出。和的符号取被加数(被减数)的符号。
求差时,被加数(被减数)数值位加上加数(减数)数值位的补码,并且按照以下规则产生结果。1、最高数值位产生进位,表示加法结果为正,所得数值位正确。差的符号位取被被加数(被减数)的符号。2、最高数值位没有进位,表示加法结果为负,得到的数值位是补码形式,需要对结果求补,还原为绝对值的形式的数值位。符号位为被加数(被减数)的符号取反
3.3原码的一位乘法
原则:如果当乘数的某位上为1,则被乘数就加上本身,否则加上0。
原码的不恢复余数除法