1. 程式人生 > >C++ 一道基礎筆試題

C++ 一道基礎筆試題

C++函式:

int foo(int x)
 {
     return x&-x;
 }
呼叫函式 foo(2^31 - 3)得到的結果是什麼?

^ 的優先順序高於 - ;所以 2^31 - 3 = 30;

30 & -30 = 0……11110 & 1……00010 = 0……0010  = 2;

-30是以補碼的形式在機器中儲存的。

基礎知識還是挺重要的。