第三章预习
C程序中涉及的算法
(1) 按位运算:符号|按位OR运算;符号&按位AND运算;符号~表示按位NOT运算;符号^按位XOR运算。
实现掩码操作:通过与给定的一个位模式进行按位与,可以提取所需要的位,对这些位进行“置1” “清0”等。
(2) 逻辑运算:符号||按位OR运算;符号&&表示AND运算;符号!表示NOT运算。
(3) 移位运算
逻辑移位:不考虑符号位,把高(低)位移出,低(高)补0.
算术移位:机器码采用有符号数,符号位不参与移位。
原码左移、右移都补0,原码算术移位:左移丢1,运算出错,右移丢1,影响精度。
正数中,原码,补码,反码左右移都补0,负数中,原码左右移补0,补码左移补0、右移补1,反码左右移补1。
(4)位扩展和位截断运算
0扩展:用于无符号数,在短的无符号数前添加足够的0。
符号扩展:用于补码表示的带符号整数,在短的带符号整数前添加足够多的符号位
基本运算部件
3.2.1串行进位加法器
全加器用来实现两个本位数加上低位进位生成一位本位和以及一位向高位的进位
3.2.2并行进位加法器
先行进位(同时进位):各级进位信号同时形成。
加快进位产生和提高传递的速度,即将各级低位产生的本级G和P信号依次同时送到高位各全加器的输入,以使它们同时形成进位信号。
3.2.3带标志加法器
n位无符号加法器只能用于两个n位二进制数相加,不能进行减运算,也不能进行带带符号整数的加减运算。