csapp2e 家庭作业 2.67

时间:2022-02-06 21:53:58

A 在许多机器上,当移动一个w位的值时,实际上位移量是通过计算k mod w得到的。但是C语言不保证在所有的机器上都是这么做的,在sun spark上就是例外,因此,位移数量应该保持小于字长。

B 将int beyond_msb = 1<<32;

分为两步 int beyond_msb = 1<<31;

               beyond_msb = beyond_msb << 1;

C

 int int_size_is_32()

{

  int set_msb = INT_MIN;

  int beyond_msb = 1<<15;

  beyond_msb <<= 15;

 beyond_msb <<= 2;

 return set_msb && !beyond_msb;

}