วันพฤหัสบดีที่ 14 ธันวาคม พ.ศ. 2560

2.1 ระบบเลขฐานที่ใช้ในคอมพิวเตอร์

        มนุษย์ติดต่อสื่อสารทางคณิตศาสตร์ด้วยระบบเลขฐานสิบ ซึ่งเป็นที่รู้จักกันและใช้กันอย่างแพร่หลายทั่วโลก แต่ระบบคอมพิวเตอร์การทำงานภายในเครื่องคอมพิวเตอร์จะใช้ระบบเลขฐานสอง เพราะอุปกรณ์ภายในเครื่องคอมพิวเตอร์เป็นวงจรอิเล็กทรอนิกส์ใช้สัญญาณไฟฟ้าในการทำงาน และมีการทำงาน 2 สภาวะ คือ กระแสไฟเปิด (ON) และกระแสไฟปิด(OFF) มีการเชื่อมโยงเลขฐานสองซึ่งมีตัวเลขสองตัว คือ 1 และ0 เข้ากับสภาวะดังกล่าวโดยการกำหนดให้กระแสไฟฟ้าเปิด แทนด้วย 1 และกระแสไฟฟ้าปิด แทนด้วย 0 เพื่อให้เข้าใจการทำงานพื้นฐานของคอมพิวเตอร์ สำหรับการทำงานคำสั่งหรือโปรแกรมต่างๆ ซึ่งจะใช้เลขฐานสองทำงานจึงไม่สะดวก จึงนำเลขฐานอื่นมาใช้ร่วมด้วย เช่น เลขฐานแปด เลขฐานหก  เป็นต้นเพื่อให้คอมพิวเตอร์ทำงานได้อย่างรวดเร็วและมีประสิทธิภาพมากที่สุด

ในระบบคอมพิวเตอร์มีการใช้เลขฐานอยู่ 4 ระบบคือ
 1. ระบบเลขฐานสอง (Binary Number System) 
 2. ระบบเลขฐานแปด (Octal Number System) 
 3. ระบบเลขฐานสิบ (Decimal Number System) 
 4. ระบบเลขฐานสิบหก (Hexadecimal Number System)

ตารางที่ 2.1 จำนวนหลักของระบบเลขฐานต่างๆ

ระบบจำนวน
จำนวนหลัก (Digit)
เลขฐานสอง
0
1
เลขฐานแปด
0
1
2
3
4
5
6
7
เลขฐานสิบ
0
1
2
3
4
5
6
7
8
9
เลขฐานสิบหก
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F





2.2 ระบบเลขฐานสิบ

ระบบเลขฐานสิบ เป็นระบบเลขที่ใช้กันในชีวิตประจำวัน ไม่ว่าจะนำไปใช้คำนวณประเภทใด โดยจะมีสัญลักษณ์ที่ใช้แทนตัวเลขต่างๆ ของเลขฐานสิบ (Symbol) จำนวน 10 ตัว ตัวเลขหรือที่เรียกว่า Digit ที่ใช้แทนระบบเลขฐานสิบ ได้แก่ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
    ตัวเลขแต่ละตัวจะมีค่าประจำตัว โดยกำหนดให้ค่าที่น้อยที่สุด คือ 0 (ศูนย์) และเพิ่มค่าทีละหนึ่ง จนครบจำนวน 10 ตัว ดังนั้นค่ามากที่สุด คือ การนำตัวเลขเหล่านี้ มารวมกลุ่มกัน ทำให้เกิดความหมายเป็น "ค่า" นั้น อาศัยวิธีการกำหนด "หลัก" ของตัวเลข (Position Notation) กล่าวคือ ค่าของตัวเลขจำนวนหนึ่ง พิจารณาได้จากสองสิ่งคือ
ค่าประจำตัวของตัวเลขแต่ละตัว
ค่าหลักในตำแหน่งที่ตัวเลขนั้นปรากฎอยู่
ในระบบที่ว่าด้วยตำแหน่งของตัวเลข ตำแหน่งที่อยู่ทางขวาสุด จะเป็นหลักที่มีค่าน้อยที่สุด เรียกว่า Least Sinificant Digit (LSD) และตัวเลขที่อยู่ในหลักซ้ายสุดจะมีค่ามากที่สุด เรียกว่า Most Sinificant Digit (MSD)
ตัวอย่าง
จำนวน 1,897
Most Sinificant Digit (MSD)
Least Sinificant Digit (LSD)
1
8
9
7

    นิยาม ค่าหลักของตัวเลขใดๆ คือ ค่าของฐานยกกำลังด้วยค่าประจำตำแหน่งของแต่ละหลัก โดยกำหนดให้ค่าประจำตำแหน่งของหลักของ LSD มีค่าเป็น ในระบบเลขฐานสิบ จะมีสัญลักษณ์อยู่ 10 อย่าง คือ 0 - 9 จำนวนขนาดของเลขฐานสิบ สามารถอธิบายได้ โดยใช้ตำแหน่งน้ำหนักของแต่ละหลัก (Postional Weight) โดยพิจารณาจากเลข ดังต่อไปนี้
ค่าตัวเลข 4,897 สามารถขยายได้ดังนี้
4,897
= 4000 + 800 + 90 + 7
= (4 x 103) + (8 x 102) + (9 x 101) + (7 x 100)
จะเห็นว่าน้ำหนักตามตำแหน่ง ของตัวเลขต่างๆ สามารถขยายตามระบบจำนวนได้ และถูกแทนที่ด้วยสมการ ดังต่อไปนี้
N = dnRn + ... + d3R3 + d2R2 + D1R1 + D0R0
เมื่อ
N    คือ ค่าของจำนวนฐานสิบที่ต้องการ
dn   คือ ตัวเลขที่อยู่ในตำแหน่งต่างๆ
R    คือ ฐานของจำนวนตัวเลขนั้นๆ
n    คือ ค่ายกกำลังของฐานตามตำแหน่งต่างๆ




2.3 ระบบเลขฐานสอง

ระบบเลขฐานสอง มีสัญลักษณ์ที่ใช้เพียงสองตัว คือ และ ถ้าเปรียบเทียบเลขฐานสอง กับเลขฐานสิบแล้ว ค่าของหลักที่ถัดจากหลักที่น้อยที่สุด (LSD) ขึ้นไป จะมีค่าเท่ากับ ฐานสองยกกำลังหมายเลขหลัก แทนที่จะเป็น 10 ยกกำลัง ดังนี้
เลขฐานสิบ
เลขฐานสอง
100
1
หน่วย
20
1
หนึ่ง
101
10
สิบ
21
2
สอง
102
100
ร้อย
22
4
สี่
103
1000
พัน
23
8
แปด
104
10000
หมื่น
24
16
สิบหก
105
100000
แสน
25
32
สามสิยสอง
ระบบเลขฐานสองเกิดจากการใช้ตัวเลขเพียง ตัว คือ และ ดังนั้น สมการคือ
N = dnRn + ... + d3R3 + d2R2 + D1R1 + D0R0
เมื่อ คือค่า หรือ 1
เช่น 1101 = (1 x 23) + (1 x 22) + (0 x 21) + (1 x 20)
เพื่อตัดปัญหายุ่งยาก ในการแทนค่าของเลขระบบต่างๆ เรานิยมเขียน ตัวเลขอยู่ในวงเล็บ และเขียนค่าของฐานนั้น อยู่นอกวงเล็บ
เช่น (101101)2 = (45)10
สำหรับเศษส่วน จะเขียนค่าของเศษส่วนอยู่หลังจุด (Binary Point) ยกกำลังเป็นลบ เพิ่มขึ้นตามลำดับ ดังตัวอย่าง
(0.1011)2 = (1 x 2-1) + (0 x 2-2) + (1 x 2-3) + (1 x 2-4)





2.4 ระบบเลขฐานแปด

เป็นเลขฐานที่ประกอบด้วยเลข ตัว ซึ่งประกอบด้วยเลข 0, 1, 2, 3, 4, 5, 6, 7 ซึ่งเป็นเลขฐานที่เพิ่มเนื้อที่หน่วยความจำในการเก็บให้มากขึ้น การเก็บข้อมูลเป็นเลขฐาน จะทำให้เก็บข้อมูลได้มากขึ้น








2.5 ระบบเลขฐานสิบหก

เป็นเลขฐานที่ประกอบด้วยตัวเลข 10 ตัวและตัวอักษรแทนตัวเลขอีก ตัว ซึ่งประกอบด้วยเลข 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 และตัวอักษรภาษาอังกฤษแทน 10 ถึง 15 ได้แก่ A, B, C, D, E, F ซึ่งก็จะเก็บข้อมูลได้มากกว่าระบบเลขฐาน ฐาน 8
    ระบบเลขฐานสิบหก (hexadecimal)นี้จะเป็นที่นิยมใช้ในการเข้ารหัส (encode)คำสั่งควบคุมเครื่อง (control code ) ที่อยู่ในระบบเลขฐานสอง ( binary ) ที่มีจำนวนคำสั่งยาวมากๆ ยกตัวอย่างได้เช่นตามคำอธิบายข้างต้น ถ้า 11111 เป็นคำสั่งควบคุมเครื่องในรูปเลขฐานสอง(binary)คือ 11111 ผู้ควบคุมเครื่องอาจจะเข้ารหัส ( encode)คำสั่งควบคุมเครื่องไว้ในรหัสบาร์โค้ด(barcode)ในรูป 1F ถ้าใช้รหัสเลขฐานสิบหก (hexadecimal)ซึ่งบาร์โค้ด(barcode)นั้นเวลาพิมพ์ที่จะใช้ให้เครื่องอ่านคำสั่งควบคุมเครื่อง จะใช้ความยาวของบาร์โค้ด(barcode) 2 ตัว เช่นการใช้ระบบเลขฐานสิบหก (hexadecimal)นี้ในการเข้ารหัส (encode)คำสั่งควบคุมเครื่อง (control code )สำหรับเครื่องจักรอัตโนมัติความเร็วสูง ( high speed Finishing system) เป็นต้น