csapp Day1 Class3 位表示,位级别的操作与内存学习-2022.05.11
一.无符号数的加法运算
二进制直接加减,高位截断,溢出后结果等于理论值%2的位次幂
二.有符号数的加法运算
二进制直接进行加减,高位截断,结果等于理论结果%2的位次幂
正加正产生负溢出,负加负产生正溢出
三.有符号数的乘法运算
理论结果表示成二进制后,高位截断,并根据首位数字进行符号判断
例1:(int)4*(int)5=(int)20=10100=(溢出)0100=4(正溢出)
例2:(int)5*(int)5=(int)25=11001=(溢出)1001=-7(负溢出)
四.右移时的问题
例1.6/2=3,3/2=1
0110>>1=0011=3,0011>>1=0001=1(正确的右移)
例2.-6/2=-3,-3/2=-1
1010>>1=1101=-3,1101>>1=1110=-2(错误的右移)
1101>>1=(1101+1)>>1(增加偏移值)=1110>>1=1111=-1(正确的右移)
五.内存
未看懂