ตัวอย่างการใช้งาน Bitwise Operator
10 Jan 2020 00:00
Written by: Yosapol Jitrak
บทความนี้เป็นการนำบทความที่เคยเขียนเมื่อหลายปีมาแล้ว มาทำการ Repost ใหม่ต่อจากบทความที่แล้วนะครับ Bitwise C# [1/3] Why to Bitwise
ก่อนหน้าที่จะไปประยุกต์ใช้อย่างไรนั้น
ขอกล่าวถึง Bitwise Operator ใน C# ก่อน
ตัวดำเนินการ AND จะให้ผลลัพธ์เป็น bit ที่มีเหมือนกันของตัวถูกดำเนินการทั้งสอง
5 & 3 = 1
เลขฐาน 10 | เลขฐาน 2 |
---|---|
5 | 0000 0101 |
3 | 0000 0011 |
1 | 0000 0001 |
ตัวดำเนินการ OR จะให้ผลลัพธ์เป็น bit ที่มีทั้งหมดของตัวถูกดำเนินการทั้งสอง
5 | 3 = 7
เลขฐาน 10 | เลขฐาน 2 |
---|---|
5 | 0000 0101 |
3 | 0000 0011 |
7 | 0000 0111 |
ตัวดำเนินการ XOR จะให้ผลลัพธ์เป็น bit ที่มีแค่ตัวใดตัวหนึ่งของตัวถูกดำเนินการเท่านั้น
5 ^ 3 = 6
เลขฐาน 10 | เลขฐาน 2 |
---|---|
5 | 0000 0101 |
3 | 0000 0011 |
6 | 0000 0110 |
ตัวดำเนินการ Left Shift จะให้ผลลัพธ์เป็นทุก bit ที่ย้ายไปทางด้านซ้ายของตัวดำเนินการฝั่งซ้าย
ตามจำนวนที่ระบุไว้ในตัวดำเนินการฝั่งขวา
5 << 2 = 20
เลขฐาน 10 | เลขฐาน 2 |
---|---|
5 | 0000 0101 |
20 | 0001 0100 |
ตัวดำเนินการ Right Shift จะให้ผลลัพธ์เป็นทุก bit ที่ย้ายไปทางด้านขวาของตัวดำเนินการฝั่งซ้าย
ตามจำนวนที่ระบุไว้ในตัวดำเนินการฝั่งขวา
5 >> 2 = 1
เลขฐาน 10 | เลขฐาน 2 |
---|---|
5 | 0000 0101 |
1 | 0000 0001 |
ตำดำเนินการ Ones Complement จะให้ผลลัพธ์กลับค่าของตัวถูกดำเนินการ
~5 = 250
เลขฐาน 10 | เลขฐาน 2 |
---|---|
5 | 0000 0101 |
250 | 1111 1010 |
จบไปอีกเรื่องกับ Bitwise Operator
บทความหน้าผมจะพาไปประยุกต์ใช้กันจริง ๆ เสียที Bitwise C# [3/3] Apply Bitwise
Link: Bitwise C# [1/3] Why to Bitwise
Link: Bitwise C# [3/3] Apply Bitwise