ในบทก่อนได้พูดถึงว่า Leibniz เป็นคนแรกที่คิดจะใช้เลขฐานสองกับเครื่องคำนวณ อีก ๓๐๐ ปีต่อมาจึงมีผู้นำความคิดนี้มาปฏิบัติ และปัจจุบันนี้เราใช้เลขฐานสองกับคอมพิวเตอร์ ดังนั้นเราต้องมาทำความเข้าใจกันว่าเลขฐานสอง (binary system) คืออะไร
ระบบเลขที่เราใช้อยู่ในชีวิตประจำวันเป็นระบบเลขฐานสิบ กล่าวคือตัวเลขไม่ว่าจะเป็นหลักร้อย พัน หรือล้าน จะมีองค์ประกอบย่อยที่สุดคือ เลข ๐ ถึง ๙ นั่นคือเราใช้เลขสิบตัวนี้เป็นฐานในการสร้างตัวเลขทั้งหมด ระบบเลขฐานสองก็คือระบบที่เราใช้เลขเพียงสองตัวเป็นฐานในการสร้างตัวเลขทั้งหลาย เลขสองตัวนี้คือ ๐ และ ๑ เราอาจจะงงว่าทำได้อย่างไร แต่ถ้าเราเข้าใจว่าเราใช้เลข ๐
ถึง ๙ เป็นฐานสร้างเลขตัวอื่นอย่างไร ก็จะหายงง เพราะถึงมีเพียง ๐ กับ ๑ เราก็ทำวิธีเดียวกัน
เมื่อเรานับ ๐ ไปจนถึง ๙ แล้ว เลขจำนวนถัดไปเราก็สร้างได้โดยเอา ๑ กับ ๐ มาผสมกัน แล้วนับไล่ขึ้นไปเป็น ๑๑ และ ๑๒ ตามลำดับ ในทำนองเดียวกัน ถ้าเราใช้เลขฐานสอง เมื่อนับจาก ๐ ถึง ๑ แล้ว
เลขจำนวนถ้ดไปก็สร้างได้โดยเอา ๑ กับ ๐ มาผสมกัน แล้วนับไล่ขึ้นไปเป็น ๑๑ ก็หมดอีกหลักหนึ่งเพราะไม่มีเลข ๒ ให้นับ ต้องขึ้นหลักใหม่คือ ๑๐๐ ทำอย่างนี้เรื่อยไป ดูตารางเปรัยบเทียบต่อไปนี้
เลขฐานสิบ | เลขฐานสอง |
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
8 | 1000 |
9 | 1001 |
10 | 1010 |
ความจริงแล้วเราจะเลือกใช้เลขฐานเท่าไรก็ได้ แล้วแต่ความสะดวก แต่เหตุที่นักคิดบางคนเสนอให้ใช้เลขฐานสองกับเครื่องคำนวณก็เพราะเป็นระบบที่ใช้ฐานจำนวนน้อยที่สุด ทำให้มีความซับซ้อนน้อยที่สุด (เราใช้ระบบเลขต่ำกว่าฐานสองไม่ได้ ต้องมีอย่างน้อยสองเพื่อใช้ในการผสม) และมีเหตุผลที่สำคัญอีกอย่างหนึ่งที่ทำให้เราใช้เลขฐานสองกับคอมพิวเตอร์ นั่นก็คืออุปกรณ์อิเลคโทรนิคมีอยู่สองสถานะ คือมีไฟฟ้าไหลเข้าหรือไม่มี จึงสะดวกกว่าที่จะใช้เลขฐานสองแทนสองสถานะนี้ นั่นคือเมื่อคอมพิวเตอร์ทำงาน สิ่งที่คอมพิวเตอร์ทำก็คือส่งกระแสไฟเข้าหรือไม่ส่ง เมื่อเราสั่งให้คอมพิวเตอร์ทำงานก็คือกำหนดให้ทำอย่างใดอย่างหนึ่งในสองอย่างนี้ จึงเป็นการง่ายที่จะสื่อสารกับคอมพิวเตอร์โดยให้ ๑ แทนกระแสไฟฟ้าเข้า ให้ ๐ แทนไม่มีกระแสไฟเข้า
แต่เนื่องจากเราไม่ได้ใช้คอมพิวเตอร์แค่คำนวณตัวเลข เราทำเอกสารและเก็บข้อมูลที่เป็นอักขระด้วย เลข ๑ กับ ๐ จึงไม่ได้ใช้แค่แทนตัวเลขเท่านั้น ต้องใช้แทนอักขระและสัญลักษณ์อื่น ๆ ด้วย เช่น เรากำหนดว่า ตัว A แทนด้วยเลขสองตัวนี้ผสมกัน สมมติว่า ๑๐๐๐๐๐๑ เป็นต้น กล่าวอีกนัยหนึ่งภาษาที่คอมพิวเตอร์เข้าใจจะประกอบด้วยเลขสองตัวนี้เท่านั้น
เลข ๐ และ ๑ แต่ละตัวเราเรียกว่า bit ซึ่งย่อมาจาก binary digits ในวงการคอมพิวเตอร์กำหนดให้อักขระต้วหนึ่งหรือสัญลักษณ์อย่างหนึ่งแทนด้วยเลข ๐ และ ๑ ผสมกันแปดตัว หรือ ๘ bits นั่นเองเรียกว่า byte ดังนั้น ๑ byte เท่ากับ ๘ bits เมื่อเรานับจำนวน bytes ไปได้ถึงหลักพัน ก็จะเรียกว่า kilobytes เหมือนกับเมื่อเรานับระยะทางจาก ๑ เมตรไปถึงหลักพัน เราก็เรียกว่ากิโลเมตร แต่ ๑
หมายเหตุ: mega และ giga แปลว่า ล้าน และ พันล้าน ตามลำดับ ทั้งสองคำเป็นศัพท์ที่มีอยู่แล้วในภาษาอังกฤษ ไม่ใช่ศัพท์เฉพาะทางคอมพิวเตอร์
เมื่อเข้าใจเช่นนี้แล้ว เราก็น่าจะเข้าใจว่า ทำไมคุณลักษณะของอุปกรณ์คอมพิวเตอร์จึงมีเลขแปลก ๆ
อย่างที่กล่าวข้างต้น การใช้เลขฐานสองกับคอมพิวเตอร์ที่เป็นอิเลคโทรนิคเป็นเรื่องของความสะดวก ไม่ใช่เรื่องของความจำเป็น เราจะใช้เลขฐานสิบกับคอมพิวเตอร์ที่เป็นอิเลคโทรนิคก็ได้ ความจริงแล้วคอมพิวเตอร์อิเลคโทรนิคเครื่องแรกของโลก คือ ENIAC ใช้เลขฐานสิบ มิได้ใช้เลขฐานสองแต่อย่างใด