~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'運算符。 –
所以笏〜確實做到了嗎? –
你的書有什麼問題?您的互聯網連接?你的研究工作在哪裏? –