คุณต้องการรู้อะไรเกี่ยวกับ 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): จริงก็ต่อเมื่อนิพจน์เป็นเท็จ