ออปเปอเรเตอร์บิตเวิร์ชทำงานระดับบิต (bit-by-bit) สมมติ a = 60 และ b = 13 ในรูปแบบทศนิยมฐานสอง:
a = 0011 1100 (60) b = 0000 1101 (13) ----------------- a & b = 0000 1100 (12) a | b = 0011 1101 (61) a ^ b = 0011 0001 (49) ~a = 1100 0011 (-61 ในรูป 2's complement)
| ลำดับ | ออปเปอเรเตอร์และคำอธิบาย | ตัวอย่าง |
|---|---|---|
| 1 | & (Binary AND) คัดลอกบิตถ้ามีในทั้งสองอเปอแลนด์ | (a & b) = 12 |
| 2 | | (Binary OR) คัดลอกบิตถ้ามีในอันใดอันหนึ่ง | (a | b) = 61 |
| 3 | ^ (Binary XOR) คัดลอกบิตถ้าตั้งค่าในอันใดอันหนึ่งแต่ไม่ใช่ทั้งสอง | (a ^ b) = 49 |
| 4 | ~ (Binary Ones Complement) ยูนารี กลับบิตทั้งหมด | (~a) = -61 |
| 5 | << (Binary Left Shift) เลื่อนบิตซ้ายตามจำนวนที่ระบุ | a << 2 = 240 |
| 6 | >> (Binary Right Shift) เลื่อนบิตขวาตามจำนวนที่ระบุ | a >> 2 = 15 |
ตัวอย่างโค้ด
#!/usr/bin/python a = 60 # 0011 1100 b = 13 # 0000 1101 c = 0 c = a & b; print "Line 1 - Value of c is", c # 12 c = a | b; print "Line 2 - Value of c is", c # 61 c = a ^ b; print "Line 3 - Value of c is", c # 49 c = ~a; print "Line 4 - Value of c is", c # -61 c = a << 2; print "Line 5 - Value of c is", c # 240 c = a >> 2; print "Line 6 - Value of c is", c # 15
เอาต์พุต
Line 1 - Value of c is 12 Line 2 - Value of c is 61 Line 3 - Value of c is 49 Line 4 - Value of c is -61 Line 5 - Value of c is 240 Line 6 - Value of c is 15