Binary Number หรือที่เรียกกันว่าเลขฐานสอง คือโครงร่างตัวเลขที่มีสัญลักษณ์ที่เป็นไปได้สำหรับแต่ละหลักคือ 0 กับ 1 หมายถึงระบบการเข้ารหัส/การถอดรหัสแบบดิจิทัล ที่มีสถานะเป็นไปได้สองอย่าง ในหน่วยความจำข้อมูล, การจัดเก็บ, การประมวลผล, และการสื่อสาร ซึ่งสัญลักษณ์ 0 และ 1 จะเข้าใจในรูปแบบ ต่ำ/สูง หรือ ปิด/เปิด หรือ ขึ้น/ลง หรือซ้าย/ขวา หรือ เท็จ/จริง หรือ no/yes ตามลำดับ
บิต เป็นหน่วยที่เล็กทีสุดของข้อมูลบนคอมพิวเตอร์ แต่ละบิตจะมีค่าเดียวไม่เป็น 0 ก็ต้องเป็น 1 ค่าใดค่าหนึ่งเท่านั้น ตัวเลขไบนารีจะดูแปลก ๆเมื่อถูกเขียนออกมาตรง ๆ เพราะเราคุ้นเคยกับเลขฐานสิบที่แต่ละหลักจะเพิ่มเป็นสิบเท่าคือเป็นหลักหน่วย หลักสิบ หลักร้อย หลักพัน ไปเรื่อย ๆ ที่จริงแล้วค่าในแต่ละหลักหาได้จากเลขยกกำลังคือ 10^(n-1) โดยที่ n เป็นเลขประจำหลัก ดังนั้นจะได้เป็น 10^(1-1), 10^(2-1), 10^(3-1)…….. ที่จะมีค่าเป็น 10^0, 10^1, 10^2, 10^3 ……. ก็จะเป็น หนึ่ง (หน่วย), สิบ, ร้อย, พัน ไปเรื่อย ๆ
หลักที่ n | หลักที่ 9 | หลักที่ 8 | หลักที่ 7 | หลักที่ 6 | หลักที่ 5 | หลักที่ 4 | หลักที่ 3 | หลักที่ 2 | หลักที่ 1 |
2^(n-1) | 2^8 | 2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
ค่าของหลักเมื่อสถานะเป็น 1 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
ค่าของหลักเมื่อสถานะเป็น 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ตารางแสดงค่าประจำหลัก
ในขณะที่เลขฐานสอง ( Binary Number )มีสัญลักษณ์เพียงสองตัวคือ 0 และ 1 หากจะแปลงเลขสัญลักษณ์ของเลขฐานสิบ มาเป็นแบบไบนารี หรือเลขฐานสอง ก็มีหลักเกณฑ์คล้าย ๆกันคือ 2^(n-1) ทำให้ได้ค่าในแต่ละหลักเป็น 2^0, 2^1, 2^2, 2^3, ไปเรื่อย ๆ ค่าในแต่ละหลักที่ได้ก็จะเป็น 1, 2, 4, 8 จากนั้นถึงมาดูสถานะของแต่ละหลักว่าเป็น no/yes หรือ ปิด/เปิด (off/on) ถ้ามันอยู่ในสถานะ yes หรือ on คือสัญลักษณ์ 1 มันก็จะมีค่าในแต่ละหลักนั้น คือ 1,2,4,8,16,32,64,128…. นั้น ถ้ามันอยู่ในสถานะ 0 (no หรือ off) ในหลักนั้นมันไม่มีค่าใด ๆ จากนั้นนำตัวเลขในแต่ละหลักมาบวกกัน ผลลัพธ์ที่ได้ก็คือค่าในเลขฐานสิบนั่นเอง ตัวอย่างเช่น
เลขฐานสอง | ผลรวม | เลขฐานสิบ |
10011100 | 128+0+0+16+8+4+0+0 | 156 |
10000111 | 128+0+0+0+0+8+4+1 | 141 |
1111 | 8+4+2+1 | 15 |
1000 | 8+0+0+0 | 8 |
0000 | 0+0+0+0 | 0 |
ส่วนวิธีการแปลงค่าจากเลขฐานสิบมาเป็นเลขฐานสองนั้นทำได้ง่าย ๆโดยการทำการหารเอาเศษ ด้วยการนำเลขฐานสิบตั้งแล้วหารด้วยสองจะได้เศษเป็น 0 หรือ 1 ให้หารไปเรื่อย ๆจนกว่าจะหารไม่ได้ แล้วเอาเศษแต่ละขั้นตอนนั้นมาเรียงกันก็จะได้เป็นเลขในระบบไบนารี หรือเลขฐานสองนั่นเองเช่น ต้องการแปลงค่าเลขฐานสิบคือ 17 ให้เป็นเลขฐานสองทำได้ดังนี้
ภาพแสดงการเปลี่ยนเลขฐานสิบเป็นเลขฐานสอง
17÷2 = 8 เศษ 1 เอา 8 ไปหารด้วย 2 ต่อ
8÷2 = 4 เศษ 0 หารได้อีก
4÷2 = 2 เศษ 0 หารได้อีก
2÷2 = 1 เศษ 0 หารต่อ
1÷2 = 0 เศษ 1 หารไม่ได้แระ
จากนั้นนำเศษมาเรียงกันจะได้ 10001 ที่เป็นตัวเลขในระบบไบนารี หรือเลขฐานสอง ที่มีค่าเท่ากับ 17 ในระบบเลขฐานสิบนั่นเอง
ด้วยรูปแบบง่าย ๆที่มีสัญลักษณ์เพียงสองตัวคือ 1 และ 0 ระบบเลขฐานสอง หรือ binary number จึงถูกนำมาเป็นโครงสร้างพื้นฐานในการทำงานของคอมพิวเตอร์ในปัจจุบันภายใต้สถานะไม่มีไฟฟ้า และสถานะมีไฟฟ้า (off/on) นำมาประดิษฐ์เป็นไมโครโปรเซสเซอร์ ซึ่งมีการประมวลผลที่เรียกว่า ดิจิทัล
ไม่ใช่เรื่องแปลกที่เราใช้คอมพิวเตอร์ช่วยทำงานกันในทุกวันนี้ แต่มันแปลกที่ว่าหากหาต้นตอกันจริง ๆเพียงตัวเลขสองตัวคือ 0 และ 1 มันมีอานุภาพมากมายขนาดนี้ได้อย่างไรกัน ในภาษาอังกฤษต้องจดจำพยัญชนะ และสระรวมกันแล้ว 26 ตัว ภาษาไทยเฉพาะพยัญชนะก็ 44 ตัว สระต่าง ๆอีก 32 ตัว ในภาษาจีนต้องจำรูปแบบตัวอักษรนับพันตัว แต่ก็ถือว่าไม่มีภาษาใดเป็นภาษากลางของโลกได้เทียบเท่ากับภาษาของคอมพิวเตอร์อีกแล้ว แต่ก็อีกนั่นแหละสุนทรียภาพของสัญลักษณ์แค่สองตัวนี้ มันก็เทียบไม่ได้กับภาษาที่เราคุ้นเคย หากคอมพิวเตอร์มันต้องพูดภาษาแท้ ๆของมัน มันก็คงจะพูดทำนองนี้ว่า หนึ่ง หนึ่ง ศูนย์ ศูนย์ ศูนย์ หนึ่ง ศูนย์ หนึ่ง ศูนย์ ศูนย์ ศูนย์ ที่มนุษย์ฟังดู แล้วรู้สึกแปลกพิลึก
ฉะนั้นแล้วอย่าได้น้อยอกน้อยใจไปเลยที่เราจะต้องใช้อักขระมากมายขนาดนี้ เพราะยิ่งมีให้ใช้มาก ๆ ความสละสลวยทางภาษาของเราก็มีมากตามไปด้วย ศัพท์แสงก็ดูประณีตมากขึ้น ผมเคยเขียน บทกลอนไว้มีบาทหนึ่งกล่าวว่า “มวลหมอกล้าโรยแรงด้วยแสงฉาน” แกล้งเอาไปให้ google แปลเป็นอังกฤษ มันแปลว่า “The doctor drove with light shine.” เห็นมะ! นี่ดีนะที่ไม่เอาบทความนี้ไปแปล เพราะถ้าหากมันเกิดแปลคำว่า น้อยอกน้อยใจไปเป็น ใจเล็กอกเล็กขึ้นมาละก็จะยุ่งตายเลย ใจเล็กยังพอทน แต่อกเล็กงานเข้าแน่ สาว ๆคงจะไม่ยอมเด็ดขาด สำหรับวันนี้ฝันดี ราตรีสวัสดิ์ครับผม
2 thoughts on “Binary Number: มหัศจรรย์เลข 0 , 1”
อ่านแล้วเข้าใจได้ดีเลขฐานสอง ขอบคุณครับ