คุณต้องการรู้อะไรเกี่ยวกับ Python ตัวดำเนินการ Bitwise? [อธิบายพร้อมตัวอย่าง]

เผยแพร่แล้ว: 2021-10-06

ระบบคอมพิวเตอร์เป็นตัวแทน จัดเก็บ และส่งข้อมูลเป็นกระแสของเลขฐานสองที่เรียกว่าบิต 'ไบนารี' หมายความว่ามีค่าที่เป็นไปได้เพียงสองค่า คือ 0 และ 1 และเลขฐานสองแต่ละหลักนั้นเรียกว่า 'บิต' ไม่ว่าคุณจะทำงานกับข้อความ ตัวเลขทศนิยม รูปภาพ เสียง หรือวิดีโอ ซอฟต์แวร์คอมพิวเตอร์จะแปลข้อมูลเป็นรหัสไบนารีที่ประกอบด้วย 0 และ 1 มักเรียกว่าภาษาเครื่อง ข้อมูลไบนารีเป็นระดับพื้นฐานที่สุดของข้อมูลที่ระบบคอมพิวเตอร์จัดเก็บ

ตัวดำเนินการ Bitwise ใน Python ช่วยให้เราจัดการข้อมูลแต่ละบิตในระดับพื้นฐานที่สุด กล่าวอีกนัยหนึ่ง ตัวดำเนินการระดับบิตใน Python ถูกใช้เพื่อทำการคำนวณระดับบิตสำหรับค่าจำนวนเต็ม ดังนั้น ค่าจำนวนเต็มจะถูกแปลงเป็นรูปแบบไบนารีก่อน จากนั้นจึงดำเนินการแบบทีละบิต หลังจาก 'การดำเนินการระดับบิต' เสร็จสิ้น ผลลัพธ์จะถูกส่งกลับในรูปแบบทศนิยม ตัวดำเนินการ Bitwise ใน Python ใช้งานได้กับจำนวนเต็มเท่านั้น การเพิ่มพูนทักษะในตัวเองด้วยโปรแกรมวิทยาศาสตร์ข้อมูลจะช่วยให้คุณเอาชนะความท้าทายต่างๆ มาพูดถึงการทำเหมืองข้อความกันดีกว่า

ตอนนี้ มาสำรวจตัวดำเนินการระดับบิตของ Python โดยละเอียดยิ่งขึ้น ประเภท วิธีทำงาน และตัวอย่าง

สารบัญ

ตัวดำเนินการ Bitwise ใน Python

Python มีโอเปอเรเตอร์หกตัวสำหรับดำเนินการเชิงตรรกะระดับบิตบนจำนวนเต็ม

ต่อไปนี้คือโอเปอเรเตอร์ระดับบิตที่แตกต่างกันใน Python พร้อมไวยากรณ์และคำอธิบายของสิ่งที่แต่ละตัวทำ

โอเปอเรเตอร์

ไวยากรณ์

คำอธิบาย

Bitwise และ

เอ แอนด์ บี

โอเปอเรเตอร์คืนค่า 1 ถ้าทั้งสองบิตในตัวถูกดำเนินการเป็น 1 มิฉะนั้นจะคืนค่า 0

Bitwise OR

a |

โอเปอเรเตอร์ส่งกลับ 1 ถ้าบิตในตัวถูกดำเนินการคือ 1 มิฉะนั้นจะคืนค่า 0

Bitwise ไม่

~a

โอเปอเรเตอร์ระดับบิตเอกภาคที่ทำการปฏิเสธเชิงตรรกะของตัวเลขที่กำหนดโดยการพลิกบิตทั้งหมด ในทางคณิตศาสตร์ มันแสดงเป็นการลบค่าบิตแต่ละตัวออกจากค่าหนึ่ง (~ai = 1 – ai)

Bitwise XOR

ก ^ ข

ตัวดำเนินการส่งคืน 1 ถ้าคู่บิตมีค่าบิตตรงข้าม มิฉะนั้นจะคืนค่า 0

Bitwise Shift ซ้าย

<<

โอเปอเรเตอร์เลื่อนบิตของตัวถูกดำเนินการแรกไปทางซ้ายตามจำนวนตำแหน่งที่กำหนดไว้ในตัวถูกดำเนินการที่สอง นอกจากนี้ โอเปอเรเตอร์ยังบวก 0 มากพอที่จะเติมช่องว่างที่อยู่ทางด้านขวาของรูปแบบบิตใหม่

เลื่อนขวาระดับบิต

ก >>

ตัวดำเนินการผลักบิตไปทางขวาตามจำนวนตำแหน่งที่ระบุ ดังนั้น บิตขวาสุดจะถูกทิ้งเสมอ

ตัวดำเนินการ Bitwise ใน Python พร้อมตัวอย่าง

ด้วยคำอธิบายพื้นฐานของตัวดำเนินการระดับบิตแต่ละตัว ให้เราดูตัวอย่างบางส่วนเพื่ออธิบายแนวคิดเพิ่มเติม

1. Bitwise และ (&)

ส่งกลับ 1 ถ้าทั้งสองบิตเป็น 1 มิฉะนั้นจะส่งกลับ 0

  • ตัวอย่าง #1

a = 24 = 11000 (ไบนารี)

b = 4 = 00100 (ไบนารี)

a & b = 11000

&

00100

= 000000

= 0 (ทศนิยม)

  • ตัวอย่าง #2

a = 10 = 1,010 (ไบนารี)

b = 2 = 0010 (ไบนารี)

a & b = 1010

&

0010

= 0010

= 2 (ทศนิยม)

2. Bitwise หรือ ( | )

ส่งกลับ 1 ถ้าบิตใดบิตหนึ่งเป็น 1 อื่น ๆ ส่งกลับ 0

  • ตัวอย่าง #1

a = 67 = 1000011 (ไบนารี)

b = 54 = 0110110 (ไบนารี)

a | b = 1000011

|

0110110

= 1110111

= 119 (ทศนิยม)

  • ตัวอย่าง #2

a = 6 = 000110 (ไบนารี)

b = 34 = 1,00010 (ไบนารี)

a | b = 000110

|

100010

= 100110

= 38 (ทศนิยม)

3. ไม่ระดับบิต (~)

ส่งกลับค่าคอมพลีเมนต์ของบิต 1 (กลับด้านบิต)

  • ตัวอย่าง #1

a = 60 = 111100 (ไบนารี)

~a = ~111100

= 000011

= 3 (ทศนิยม)

  • ตัวอย่าง #2

a = 33 = 100001 (ไบนารี)

~a = ~10001

= 011110

= 30 (ทศนิยม)

4. Bitwise XOR (^)

ส่งกลับ 1 ถ้าทั้งสองบิตมีค่าตรงข้าม มิฉะนั้นจะคืนค่า 0

  • ตัวอย่าง #1

a = 61 = 0111101 (ไบนารี)

b = 90 = 1011010 (ไบนารี)

a ^ b = 0111101

^

1011010

= 1100111

= 103 (ทศนิยม)

  • ตัวอย่าง #2

a = 2 = 000010 (ไบนารี)

b = 55 = 110111 (ไบนารี)

a ^ b = 000010

^

110111

= 110101

= 53 (ทศนิยม)

5. กะซ้ายระดับบิต (<<)

เลื่อนบิตไปทางซ้ายและเติมช่องว่างที่เกิดขึ้นทางด้านขวาด้วย 0

  • ตัวอย่าง #1

a = 39 = 100111 (ไบนารี)

<< 1 = 1001110 = 78 (ทศนิยม)

<< 2 = 10011100 = 156 (ทศนิยม)

<< 3 = 100111000 = 312 (ทศนิยม)

  • ตัวอย่าง #2

b = 74 = 1001010 (ไบนารี)

b << 1 = 10010100 = 148 (ทศนิยม)

b << 2 = 100101000 = 296 (ทศนิยม)

b << 3 = 1001010000 = 592 (ทศนิยม)

6. Bitwise ขวาอึ (>>)

เลื่อนบิตไปทางขวาและเติมช่องว่างที่เกิดขึ้นทางด้านซ้ายด้วย 0

  • ตัวอย่าง #1

a = 157 = 10011101 (ไบนารี)

a >> 1 = 1001110 = 78 (ทศนิยม)

a >> 2 = 100111 = 39 (ทศนิยม)

a >> 3 = 10011 = 19 (ทศนิยม)

  • ตัวอย่าง #2

b = 89 = 1011001 (ไบนารี)

b >> 1 = 101100 = 44 (ทศนิยม)

b >> 2 = 010110 = 22 (ทศนิยม)

b >> 3 = 001011 = 11 (ทศนิยม)

ตัวดำเนินการ Bitwise ใน Python (ตัวอย่างพร้อมรหัส)

ต่อไปนี้เป็นตัวอย่างโค้ดง่ายๆ เพื่อแสดงตัวดำเนินการระดับบิตใน Python:

1. Bitwise AND, OR, NOT และ XOR

แหล่งที่มา

แหล่งที่มา

2. ตัวดำเนินการกะระดับบิต

แหล่งที่มา

แหล่งที่มา

ก้าวไปข้างหน้า: ฝึกฝนทักษะ Python ด้วยโปรแกรมประกาศนียบัตรระดับมืออาชีพของ upGrad ในสาขาวิทยาศาสตร์ข้อมูล

คุณเป็นผู้จัดการธุรกิจที่ต้องการซึ่งแทบไม่มีประสบการณ์ในการเขียนโค้ดเลยใช่หรือไม่? จากนั้น upGrad ก็ให้ความรู้แก่คุณด้วย หลักสูตรประกาศนียบัตรวิชาชีพด้านวิทยาศาสตร์ข้อมูลเพื่อการตัดสินใจทางธุรกิจ

หลักสูตรประกาศนียบัตรวิชาชีพด้านวิทยาศาสตร์ข้อมูลได้รับการออกแบบมาเป็นพิเศษสำหรับผู้จัดการและผู้เชี่ยวชาญด้านการทำงานที่ต้องการพัฒนาทักษะและความรู้เชิงปฏิบัติในด้านวิทยาศาสตร์ข้อมูลพื้นฐาน โปรแกรมออนไลน์ที่เข้มงวดเป็นเวลา 8 เดือนมุ่งเน้นไปที่ปัญหาด้านวิทยาศาสตร์ข้อมูล อัลกอริธึม และวิธีการนำเสนอข้อมูลเพื่อใช้ในการตัดสินใจทางธุรกิจที่สำคัญ หลักสูตรครอบคลุมหลักสูตรต่อไปนี้:

  • เนื้อหาเตรียมการก่อนโปรแกรม
  • การแก้ปัญหาทางธุรกิจ ข้อมูลเชิงลึก และการเล่าเรื่อง
  • สถิติและการเรียนรู้ของเครื่อง
  • กลยุทธ์
  • โครงการ Capstone
  • บทนำสู่ Python (โมดูลเสริม)

นี่คือไฮไลท์สำคัญของโปรแกรม:

  • การรับรองที่ได้รับการยอมรับทั่วโลกจาก IIM Kozhikode
  • เนื้อหามากกว่า 200 ชั่วโมง เซสชั่นการเรียนรู้สด 20+ เซสชั่นการฝึกสอนจากผู้เชี่ยวชาญ 5+ เซสชั่น
  • 3 โครงการอุตสาหกรรมและหลักสำคัญ
  • ความครอบคลุมที่ครอบคลุมของ Excel, Python, Tableau, R และ Power BI
  • การสนับสนุนอาชีพ 360 องศา
  • ตัวต่อตัวกับที่ปรึกษาในอุตสาหกรรม
  • ความช่วยเหลือด้านงานกับบริษัทชั้นนำ
  • โอกาสในการสร้างเครือข่ายอุตสาหกรรม

บทสรุป

Python เป็นภาษาการเขียนโปรแกรมที่ทรงพลัง ใช้งานได้หลากหลาย และใช้งานง่าย ทำให้เป็นตัวเลือกยอดนิยมในหมู่ผู้เชี่ยวชาญและผู้เริ่มต้น นอกจากนี้ Python ยังคงเป็นภาษาโปรแกรมที่นักพัฒนาเลือกใช้ เนื่องจากมีประสิทธิภาพ ความสามารถรอบด้าน ความน่าเชื่อถือ และความเร็วอย่างแท้จริง สามารถใช้ได้กับสภาพแวดล้อมและแพลตฟอร์มเกือบทุกชนิดโดยไม่สูญเสียประสิทธิภาพอย่างมีนัยสำคัญ นอกจากนี้ Python ยังให้พลังแก่ปริมาณงานการประมวลผลข้อมูลจำนวนมากในหลายองค์กร ความง่ายในการวิเคราะห์ข้อมูลที่ Python นำเสนอนั้นมีประโยชน์สำหรับแอพพลิเคชั่นมากมาย รวมถึงโปรเจ็กต์การเรียนรู้ของเครื่อง

Python มีประโยชน์อย่างยิ่งสำหรับการจัดการกับกระบวนการทางธุรกิจที่สำคัญอย่างไม่ต้องสงสัย เนื่องจากเป็นองค์ประกอบพื้นฐานของวิทยาศาสตร์ข้อมูล นอกจากนี้ เมื่อ Big Data ขยายตัวและองค์กรจำนวนมากขึ้นเรื่อยๆ ให้ความสำคัญกับการตัดสินใจโดยใช้ข้อมูลเป็นหลัก ความสำคัญของ Python ก็ไม่สามารถบ่อนทำลายได้ ดังนั้น หากคุณต้องการเชี่ยวชาญ Python และใช้ทักษะของคุณในสถานการณ์ทางธุรกิจที่ขับเคลื่อนด้วยข้อมูล ลงทะเบียนกับ upGrad เพื่อเรียนรู้จากสิ่งที่ดีที่สุดในอุตสาหกรรม!

ตัวดำเนินการระดับบิตใช้ทำอะไร

ตัวดำเนินการระดับบิตใน Python ใช้ในการคำนวณระดับบิตกับค่าจำนวนเต็ม สำหรับสิ่งนี้ จำนวนเต็มจะถูกแปลงเป็นเลขฐานสองก่อน จากนั้นจึงดำเนินการต่างๆ ทีละน้อย ส่งคืนผลลัพธ์ในรูปแบบทศนิยม ใน Python ตัวดำเนินการระดับบิตสามารถใช้ได้กับจำนวนเต็มเท่านั้น

ตัวดำเนินการระดับบิตนั้นเร็วหรือไม่?

ตัวดำเนินการระดับบิตมักจะเร็วกว่าการหาร การคูณ และมักจะเร็วกว่าการบวกอย่างมาก โดยทั่วไป ตัวดำเนินการระดับบิตใช้ทรัพยากรน้อยลงและใช้พลังงานน้อยลงอย่างมาก

การใช้ตัวดำเนินการเชิงตรรกะใน Python คืออะไร?

Python มีตัวดำเนินการเชิงตรรกะสามตัวที่อนุญาตให้เปรียบเทียบค่า ตัวดำเนินการทางลอจิคัลสามตัว AND, OR และ NOT ประเมินนิพจน์เป็นค่าบูลีน และส่งกลับค่า True หรือ False ตามผลลัพธ์ของตัวดำเนินการ รับด้านล่างเป็นตัวดำเนินการเชิงตรรกะสามตัวใน Python:

1. AND ( a และ b): เป็นจริงถ้าทั้งสองนิพจน์เป็นจริง
2. OR (a หรือ b): จริง ถ้าอย่างน้อยหนึ่งนิพจน์เป็นจริง
3. ไม่ (ไม่ใช่ a): จริงก็ต่อเมื่อนิพจน์เป็นเท็จ