ตัวดำเนินการ << และ >> ทำอะไรได้ สำหรับ python

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
chatee supasand
PHP VIP Members
PHP VIP Members
โพสต์: 1666
ลงทะเบียนเมื่อ: 04/06/2019 10:06 am

ตัวดำเนินการ << และ >> ทำอะไรได้ สำหรับ python

โพสต์ที่ยังไม่ได้อ่าน โดย chatee supasand »

หลายคนคงเคยเห็นผ่านตามาแล้วสำหรับคนที่กำลังเริ่มต้นศึกษาภาษา python
แล้วยังงงกับตัวดำเนินการ <<,>> ว่ามันทำงานยังไง
แล้วเวลาRunขึ้นมาแล้วทำไมมันถึงได้ค่าออกมาแบบนี้

งั้นเรามาดูกันเลยดีกว่าว่ามันทำงานยังไง

มาลองใช้ตัว >> กันก่อนดีกว่า

ให้ตัวแปร a = 10 , a >> 0

โค้ด: เลือกทั้งหมด

a = 10 
 
print 'a >> 0 = ' , a >> 0 
ผลลัพธ์ที่ได้ คือ 10
pcode1.jpg
pcode1.jpg (27.23 KiB) Viewed 376 times
มาลอง a = 10 , a >> 1

โค้ด: เลือกทั้งหมด

a = 10 
 
print 'a >> 1 = ' , a >> 1 
ผลลัพธ์ที่ได้ คือ 5
pcode2.jpg
pcode2.jpg (25.42 KiB) Viewed 376 times

มาลอง a = 10 , a >> 2

โค้ด: เลือกทั้งหมด

a = 10 
 
print 'a >> 2 = ' , a >> 2 
ผลลัพธ์ที่ได้ คือ 2
pcode3.jpg
pcode3.jpg (25.89 KiB) Viewed 376 times
จะเห็นได้ว่า ผลลัพธ์ที่ได้ จากค่าตัวแปร a = 10 นั้น

ค่าจะถูกตัดทอนทีละครึ่งลงไปเรื่อย ๆ a >> 0 ค่าจะยังเป็น 10 อยู่

แต่พอ a >> 1 ค่าจาก 10 จะถูก แบ่งครึ่ง ให้เหลือ 5

และถ้า a >> 2 ค่าจาก 10 จะถูก แบ่งครึ่ง ให้เหลือ 5 และถูกแบ่งอีกครั้ง จะเหลือ 2 หรือก็คือทำงาน 2 ครั้งนั้นเอง

ปล.ที่ไม่เหลือ 2.5 เพราะ จะไม่เอาเศษ ปัดเศษทิ้งนะครับและค่าจะไม่ตำกว่า 0 หรือ ติดลบนั้นเอง

ต่อมากับตัวของ <<

ให้ตัวแปร a = 10 , a << 0

โค้ด: เลือกทั้งหมด

a = 10 
 
print 'a << 0 = ' , a << 0 
ผลลัพธ์ที่ได้ คือ 10
pcode5.jpg
pcode5.jpg (26.15 KiB) Viewed 376 times
มาลอง a = 10 , a << 1

โค้ด: เลือกทั้งหมด

a = 10 
 
print 'a << 1 = ' , a << 1 
ผลลัพธ์ที่ได้ คือ 20
pcode4.jpg
pcode4.jpg (26.45 KiB) Viewed 376 times
มาลอง a = 10 , a << 2

โค้ด: เลือกทั้งหมด

a = 10 
 
print 'a << 2 = ' , a << 2 
ผลลัพธ์ที่ได้ คือ 40
pcode6.jpg
pcode6.jpg (25.97 KiB) Viewed 376 times
จะเห็นได้ว่า ผลลัพธ์ที่ได้จาค่าตัวแปร a = 10 นั้น

จะถูกทำให้เพิ่มขึ้น2เท่าไปเรื่อย ๆ จาก a << 0 จะยังเท่ากับ 10

พอ a << 1 จะถูกทำให้เพิ่มขึ้นเป็น 2 เท่า 1 ครั้ง จะเท่ากับ 20

และถ้า a << 2 จะถูกทำให้เพิ่มขึ้นเป็น 2 เท่า 2 ครั้ง จะเท่ากับ 40

ดังนั้นจะเห็นว่า การทำงานของตัว ดำเนินการ <<,>> จะทำงานคล้ายๆกัน

:baa: :lol: :like:
รูปภาพ
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 105