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(正确的右移)

五.内存

未看懂

posted @ 2022-05-11 17:05  Usmireko  阅读(15)  评论(0编辑  收藏  举报