#include <iostream>
using namespace std;
int main()
{
cout << (0b11 & (~0)) << endl;
getchar();
return 0;
}
为什么上面这个代码输出结果是3?就是想问为什么~0
可以得到全是1的掩码,为什么不是只有一个1,像这样0000000000000000000001。
#include <iostream>
using namespace std;
int main()
{
cout << (0b11 & (~0)) << endl;
getchar();
return 0;
}
为什么上面这个代码输出结果是3?就是想问为什么~0
可以得到全是1的掩码,为什么不是只有一个1,像这样0000000000000000000001。
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
假设你的环境是32位,int为4字节。0等价于
00000000 00000000 00000000 00000000
,'~'按位取反,得到11111111 11111111 11111111 11111111
另外
0b11
是什么,这种写法好像没见过?