ตัวดำเนินการ Bitwise ทำงานบนบิตและดำเนินการทีละบิต สมมติว่า a =60; และ b =13; ขณะนี้อยู่ในรูปแบบไบนารีค่าของพวกเขาจะเป็น 0011 1100 และ 0000 1101 ตามลำดับ ตารางต่อไปนี้แสดงรายการตัวดำเนินการระดับบิตที่รองรับโดยภาษา Python พร้อมตัวอย่างแต่ละตัว เราใช้ตัวแปรสองตัวข้างต้น (a และ b) เป็นตัวถูกดำเนินการ -
a = 0011 1100 b = 0000 1101 ----------------- a&b = 0000 1100 a|b = 0011 1101 a^b = 0011 0001 ~a = 1100 0011
มีตัวดำเนินการ Bitwise ต่อไปนี้รองรับโดยภาษา Python
ซีเนียร์ | ตัวดำเนินการ &คำอธิบาย | ตัวอย่าง |
---|---|---|
1 | &ไบนารีและ ตัวดำเนินการคัดลอกบิตไปยังผลลัพธ์หากมีอยู่ในตัวถูกดำเนินการทั้งสอง | (a &b) (หมายถึง 0000 1100) |
2 | | ไบนารี OR มันคัดลอกเล็กน้อยถ้ามีอยู่ในตัวถูกดำเนินการอย่างใดอย่างหนึ่ง | (a | b) =61 (หมายถึง 0011 1101) |
3 | ^ ไบนารี XOR มันคัดลอกบิตหากตั้งค่าไว้ในตัวถูกดำเนินการตัวเดียว แต่ไม่ใช่ทั้งสองอย่าง | (a ^ b) =49 (หมายถึง 0011 0001) |
4 | ~ Binary Ones Complement เป็นเอกภาพและมีผลกระทบจากการ 'พลิก' บิต | (~a ) =-61 (หมายถึง 1100 0011 ในรูปแบบเสริมของ 2 เนื่องจากเลขฐานสองที่มีลายเซ็น |
5 | <<กะไบนารีซ้าย ค่าตัวถูกดำเนินการทางซ้ายจะถูกย้ายไปทางซ้ายตามจำนวนบิตที่ระบุโดยตัวถูกดำเนินการทางขวา | a <<2 =240 (หมายถึง 1111 0000) |
6 | >> ไบนารีกะขวา ค่าตัวถูกดำเนินการทางซ้ายจะถูกย้ายไปทางขวาตามจำนวนบิตที่ระบุโดยตัวถูกดำเนินการทางขวา | a>> 2 =15 (หมายถึง 0000 1111) |
7 | **=เลขชี้กำลังและ ทำการคำนวณเลขชี้กำลัง (กำลัง) กับตัวดำเนินการและกำหนดค่าให้กับตัวถูกดำเนินการทางซ้าย | c **=a เท่ากับ c =c ** a |
8 | //=กองพื้น มันดำเนินการแบ่งพื้นบนตัวดำเนินการและกำหนดค่าให้กับตัวถูกดำเนินการทางซ้าย | c //=a เท่ากับ c =c // a |
ตัวอย่าง
#!/usr/bin/python a = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = 0 c = a & b; # 12 = 0000 1100 print "Line 1 - Value of c is ", c c = a | b; # 61 = 0011 1101 print "Line 2 - Value of c is ", c c = a ^ b; # 49 = 0011 0001 print "Line 3 - Value of c is ", c c = ~a; # -61 = 1100 0011 print "Line 4 - Value of c is ", c c = a << 2; # 240 = 1111 0000 print "Line 5 - Value of c is ", c c = a >> 2; # 15 = 0000 1111 print "Line 6 - Value of c is ", c
ผลลัพธ์
เมื่อคุณรันโปรแกรมข้างต้น มันจะสร้างผลลัพธ์ดังต่อไปนี้ -
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