Jitrak Blog

Bitwise C# [2/3] Bitwise Operator

ตัวอย่างการใช้งาน Bitwise Operator

10 Jan 2020 00:00

Written by: Yosapol Jitrak

Tags:

CSharp

Bitwise

บทความนี้เป็นการนำบทความที่เคยเขียนเมื่อหลายปีมาแล้ว มาทำการ Repost ใหม่

ต่อจากบทความที่แล้วนะครับ Bitwise C# [1/3] Why to Bitwise

ก่อนหน้าที่จะไปประยุกต์ใช้อย่างไรนั้น
ขอกล่าวถึง Bitwise Operator ใน C# ก่อน

&(AND)

ตัวดำเนินการ AND จะให้ผลลัพธ์เป็น bit ที่มีเหมือนกันของตัวถูกดำเนินการทั้งสอง
5 & 3 = 1

เลขฐาน 10เลขฐาน 2
50000 0101
30000 0011
10000 0001

| (OR)

ตัวดำเนินการ OR จะให้ผลลัพธ์เป็น bit ที่มีทั้งหมดของตัวถูกดำเนินการทั้งสอง
5 | 3 = 7

เลขฐาน 10เลขฐาน 2
50000 0101
30000 0011
70000 0111

^ (XOR)

ตัวดำเนินการ XOR จะให้ผลลัพธ์เป็น bit ที่มีแค่ตัวใดตัวหนึ่งของตัวถูกดำเนินการเท่านั้น
5 ^ 3 = 6

เลขฐาน 10เลขฐาน 2
50000 0101
30000 0011
60000 0110

<< (Left Shift)

ตัวดำเนินการ Left Shift จะให้ผลลัพธ์เป็นทุก bit ที่ย้ายไปทางด้านซ้ายของตัวดำเนินการฝั่งซ้าย
ตามจำนวนที่ระบุไว้ในตัวดำเนินการฝั่งขวา
5 << 2 = 20

เลขฐาน 10เลขฐาน 2
50000 0101
200001 0100

>> (Right Shift)

ตัวดำเนินการ Right Shift จะให้ผลลัพธ์เป็นทุก bit ที่ย้ายไปทางด้านขวาของตัวดำเนินการฝั่งซ้าย
ตามจำนวนที่ระบุไว้ในตัวดำเนินการฝั่งขวา
5 >> 2 = 1

เลขฐาน 10เลขฐาน 2
50000 0101
10000 0001

~ (Ones Complement)

ตำดำเนินการ Ones Complement จะให้ผลลัพธ์กลับค่าของตัวถูกดำเนินการ
~5 = 250

เลขฐาน 10เลขฐาน 2
50000 0101
2501111 1010

จบไปอีกเรื่องกับ Bitwise Operator
บทความหน้าผมจะพาไปประยุกต์ใช้กันจริง ๆ เสียที Bitwise C# [3/3] Apply Bitwise

Link: Bitwise C# [1/3] Why to Bitwise
Link: Bitwise C# [3/3] Apply Bitwise