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是以补码的形式在机器中存储的。
基础知识还是挺重要的。
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是以补码的形式在机器中存储的。
基础知识还是挺重要的。