利用位运算进行加法和乘以 2 的 C 程序。
位运算符对比特(即对操作数的二进制值)进行运算
运算符 | 说明 |
---|---|
& | 位运算 AND |
| | 位运算 OR |
^ | 位运算 XOR |
<< | 左移位 |
>> | 右移位 |
- | 一元补码 |
位运算 AND | ||
---|---|---|
a | b | a & b |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
位运算 OR | ||
---|---|---|
a | b | a | b |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
位运算 XOR | ||
---|---|---|
a | b | a ^ b |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
示例
下面是由位运算符进行加法和乘以 2 的 C 程序 -
#include<stdio.h> main(){ int a; printf("Enter a
"); scanf("%d",&a); printf("%d*2=%d
",a,a<<1); printf("%d/2=%d
",a,a>>1); }
输出
执行上述程序时,它会产生以下输出 -
Run 1: Enter a 45 45*2=90 45/2=22 Run 2: Enter a 65 65*2=130 65/2=32
广告