- 13
- 0
- 约6.1万字
- 约 95页
- 2019-06-15 发布于安徽
- 举报
.
.
深入理解计算机系统(第二版) 家庭作业 第二章
2.55-2.57?
略
2.58
int?is_little_endian(){????int?a =?1;????return?*((char*)a);}
2.59
(x0xFF) | (y~0xFF)
2.60
unsigned?replace_byte(unsigned?x,?unsigned?char?b,?int?i){????return?(x??~(0xFF(i3)))?|?(b??(i3));}
2.61
A. !~x
B. !x
C. !~(x((sizeof(int)-1)3))
D. !(x0xFF)
注意,英文版中C是最低字节,D是最高字节。中文版恰好反过来了。这里是按中文版来做的。
2.62
这里我感觉应该是英文版对的,int_shifts_are_arithmetic()
int?int_shifts_are_arithmetic(){????int?x =?-1;????return?(x1)?==?-1;}
2.63
对于sra,主要的工作是将xrsl的第w-k-1位扩展到前面的高位。
这个可以利用取反加1来实现,不过这里的加1是加1(w-k-1)。
如果x的第w-k-1位为0,取反加1后,前面位全为0,如果为1,取反加1后就全是1。
最后再使用相应的掩码得到结果。
原创力文档

文档评论(0)