按位运算符对位进行运算(即对操作数的二进制值进行运算)
运算符 | 描述 |
---|---|
& | 按位AND |
| | 按位或 |
^ | 按位异或 |
<< | 左移 |
>> | 右移 |
- | 补码 |
按位与 | ||
---|---|---|
a | b | a & b |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
a | b | a | b |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 | tr>
1 | 1 | 1 |
按位异或 | ||
---|---|---|
a | b | a^b |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 01 | |
1 | 1 | 0 |
示例
以下是借助按位运算符进行加法和乘法 2 的 C 程序 -
现场演示
#include<stdio.h>
main(){
int a;
printf("Enter a<p>");
scanf("%d",&a);
printf("%d*2=%d </p><p>",a,a<<1);
printf("%d/2=%d </p><p>",a,a>>1);
}</p>
输出
执行上述程序时,会产生以下输出 -
Run 1:
Enter a
45
45*2=90
45/2=22
Run 2:
Enter a
65
65*2=130
65/2=32