แล้วยังงงกับตัวดำเนินการ <<,>> ว่ามันทำงานยังไง
แล้วเวลาRunขึ้นมาแล้วทำไมมันถึงได้ค่าออกมาแบบนี้
งั้นเรามาดูกันเลยดีกว่าว่ามันทำงานยังไง
มาลองใช้ตัว >> กันก่อนดีกว่า
ให้ตัวแปร a = 10 , a >> 0
โค้ด: เลือกทั้งหมด
a = 10
print 'a >> 0 = ' , a >> 0
โค้ด: เลือกทั้งหมด
a = 10
print 'a >> 1 = ' , a >> 1
มาลอง a = 10 , a >> 2
โค้ด: เลือกทั้งหมด
a = 10
print 'a >> 2 = ' , a >> 2
ค่าจะถูกตัดทอนทีละครึ่งลงไปเรื่อย ๆ 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
โค้ด: เลือกทั้งหมด
a = 10
print 'a << 1 = ' , a << 1
โค้ด: เลือกทั้งหมด
a = 10
print 'a << 2 = ' , a << 2
จะถูกทำให้เพิ่มขึ้น2เท่าไปเรื่อย ๆ จาก a << 0 จะยังเท่ากับ 10
พอ a << 1 จะถูกทำให้เพิ่มขึ้นเป็น 2 เท่า 1 ครั้ง จะเท่ากับ 20
และถ้า a << 2 จะถูกทำให้เพิ่มขึ้นเป็น 2 เท่า 2 ครั้ง จะเท่ากับ 40
ดังนั้นจะเห็นว่า การทำงานของตัว ดำเนินการ <<,>> จะทำงานคล้ายๆกัน