Scienceเราเรียนรู้

Binary Number: มหัศจรรย์เลข 0 , 1

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.” เห็นมะ! นี่ดีนะที่ไม่เอาบทความนี้ไปแปล เพราะถ้าหากมันเกิดแปลคำว่า น้อยอกน้อยใจไปเป็น ใจเล็กอกเล็กขึ้นมาละก็จะยุ่งตายเลย ใจเล็กยังพอทน แต่อกเล็กงานเข้าแน่ สาว ๆคงจะไม่ยอมเด็ดขาด สำหรับวันนี้ฝันดี ราตรีสวัสดิ์ครับผม

 

 

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น