ตัวดำเนินการระดับบิตทำงานบนบิต (เช่น กับค่าไบนารีของตัวถูกดำเนินการ)
ตัวดำเนินการ | คำอธิบาย |
---|---|
& | ระดับบิตและ |
| | ระดับบิตหรือ |
^ | XOR ระดับบิต |
<< | เลื่อนซ้าย |
>> | เลื่อนขวา |
- | ส่วนเติมเต็ม |
ระดับบิตและ | ||
---|---|---|
ก | b | a &b |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
ระดับบิตหรือ | ||
---|---|---|
ก | b | ก | ข |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Bitwise XOR | ||
---|---|---|
ก | b | a ^ b |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C สำหรับการบวกและคูณด้วย 2 โดยใช้ตัวดำเนินการระดับบิต -
#include<stdio.h> main(){ int a; printf("Enter a\n"); scanf("%d",&a); printf("%d*2=%d \n",a,a<<1); printf("%d/2=%d \n",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