csapp2e 家庭作業 2.67

yang_f_k發表於2013-04-25

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;

}

 

相關文章