~i
和INT_MAX^i
这两者之间的区别是什么?在二进制文件但是当我们打印没有。输出是不同的,因为显示在下面的在按位操作中使用时会发生什么?
#include <bits/stdc++.h>
using namespace std;
void binary(int x)
{
int i=30;
while(i>=0)
{
if(x&(1<<i))
cout<<'1';
else
cout<<'0';
i--;
}
cout<<endl;
}
int main() {
int i=31;
int j=INT_MAX;
int k=j^i;
int g=~i;
binary(j);
binary(i);
binary(k);
binary(g);
cout<<k<<endl<<g;
return 0;
}
代码我得到的输出作为
1111111111111111111111111111111
0000000000000000000000000011111
1111111111111111111111111100000
1111111111111111111111111100000
2147483616
-32
为什么k和克不同?
“〜”是一个“NOT”运算符。 '^'是一个'XOR'运算符。 –
所以笏〜确实做到了吗? –
你的书有什么问题?您的互联网连接?你的研究工作在哪里? –