高级语言和机器指令中的运算
- 1、按位运算:符号|按位OR运算;符号&按位AND运算;符号~表示按位NOT运算;符号^按位XOR运算。
实现掩码操作。 - 2、逻辑运算:符号||按位OR运算;符号&&表示AND运算;符号!表示NOT运算。逻辑运算是非数值计算,其操作数只有两个逻辑值:True和False。
- 3、位移运算:位移运算有辑移位和算术移位。
逻辑移位:不考虑符号位,把高(低)位移出,低(高)补0.
原码的移位:原码算术移位:左移丢1,运算会出错,右移丢1,会影响精度。 - 4,位扩展和位截断运算
两种位扩展方式:0扩展和符号扩展。
0扩展用于无符号数,符号扩展用于补码表示的带符号整数
基本运算部件
串行进位加法器
串行进位方式:对于图3.4所示的n位加法器,X与Y逐位相加,位间进位串行传送。
行波进位加法器:串行进位加法器中的最低位C0,它把进位逐步从低位扩展到最高位。
加法运算时间随两个加数位数n的增加而增加。当n较大时,串行进位的加法器将显著变慢。
并行进位加法器
- 用n位全加器实现两个n位操作数各位同时相加,这种加法器称为并行加法器。并行加法器中全加器的个数与操作数的位数相同。
- 并行加法器中全加器的位数与操作数的位数相同,可同时对操作数的各位相加。
- 计算机内部大多采用两级或多级先行进位加法器。
带标志加法器
n位无符号数加法器只能用于两个n位二进制数相加,不能进行无符号整数的减运算,也不能进行带符号整数的加/减运算。要能够进行无符号整数的加/减运算和带符号整数的
加/减运算,还需要在无符号数加法器的基础上增加相应的逻辑门电路,使得加法器不仅能计算和/差,还要能够生成相应的标志信息。