- js24011 的博客
运算符
- @ 2025-8-26 11:30:36
&与运算符:
int a=85,b=45;
cout<<(a&b);
输出:5
说明:1010101和101101进行与运算
1&1=1 0&1=0 1&0=0 0&0=0
所以(1010101)&(101101)=(101)=5
————————————————————————————————————————
|或运算符:
int a=85,b=45;
cout<<(a|b);
输出:125
说明:1010101和101101进行或运算
1|1=1 0|1=1 1|0=1 0|0=0
所以(1010101)&(101101)=(1111101)=125
————————————————————————————————————————
^异或运算符:
int a=85,b=45;
cout<<(a^b);
输出:5
说明:1010101和101101进行异或运算
1^1=0 0^1=1 1^0=1 0^0=0
所以(1010101)&(101101)=(1111000)=120
异或运算有以下性质:
a^0=a
a^a=0
a^b^b=a
一般地
int a=85,b=45;
a^=b;
b^=a;
a^=b;
cout<<a<<" "<<b;
输出:45 85
说明:
a^=b //a=a^b
b^=a //b=a^b=a^b^b=a
a^=b //a=a^b=b
——————————————————————————————————————
~ 按位取反
int a=85;
cout<<(~a);
输出:-86
说明:1010101进行按位取反
~1=0 ~0=1
所以~(000…0001010101)=(111^1110101010)=-86
[https://excalidraw.com/#json=4cHZx2VRh0VxdAAjF7m06,vpe5Q8WWLA3nDhDZTcL8hw] 13922419896 陈弈伊01