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

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

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

User avatar
chatee supasand
PHP Super Hero Member
PHP Super Hero Member
Posts: 870
Joined: 04/06/2019 10:06 am

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

Postby chatee supasand » 07/06/2019 2:36 pm

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

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

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

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

Code: Select all

a = 10
 
print 'a >> 0 = ' , a >> 0

ผลลัพธ์ที่ได้ คือ 10
pcode1.jpg
pcode1.jpg (27.23 KiB) Viewed 115 times


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

Code: Select all

a = 10
 
print 'a >> 1 = ' , a >> 1

ผลลัพธ์ที่ได้ คือ 5
pcode2.jpg
pcode2.jpg (25.42 KiB) Viewed 115 times



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

Code: Select all

a = 10
 
print 'a >> 2 = ' , a >> 2

ผลลัพธ์ที่ได้ คือ 2
pcode3.jpg
pcode3.jpg (25.89 KiB) Viewed 115 times


จะเห็นได้ว่า ผลลัพธ์ที่ได้ จากค่าตัวแปร a = 10 นั้น

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

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

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

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

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

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

Code: Select all

a = 10
 
print 'a << 0 = ' , a << 0

ผลลัพธ์ที่ได้ คือ 10
pcode5.jpg
pcode5.jpg (26.15 KiB) Viewed 115 times


มาลอง a = 10 , a << 1

Code: Select all

a = 10
 
print 'a << 1 = ' , a << 1

ผลลัพธ์ที่ได้ คือ 20
pcode4.jpg
pcode4.jpg (26.45 KiB) Viewed 115 times


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

Code: Select all

a = 10
 
print 'a << 2 = ' , a << 2

ผลลัพธ์ที่ได้ คือ 40
pcode6.jpg
pcode6.jpg (25.97 KiB) Viewed 115 times

จะเห็นได้ว่า ผลลัพธ์ที่ได้จาค่าตัวแปร a = 10 นั้น

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

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

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

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

:baa: :lol: :like:
Image

Return to “Python Knowledge”

Who is online

Users browsing this forum: facebook.com [Crawler] and 11 guests