1. ระบบเลขฐานต่าง ๆ
คอมพิวเตอร์ทำงานด้วยกระแสไฟฟ้า
ดังนั้นจึงมีการแทนที่สภาวะของกระแสไฟฟ้าได้ 2 สภาวะ คือ สภาวะที่มีกระแสไฟฟ้า
และสภาวะที่ไม่มีกระแสไฟฟ้า และเพื่อให้โปรแกรมเมอร์สามารถสั่งการคอมพิวเตอร์ได้
จึงได้มีการสร้างระบบตัวเลขที่นำมาแทนสภาวะของกระแสไฟฟ้า
โดยตัวเลข 0 จะแทนสภาวะไม่มีกระแสไฟฟ้า
หรือ ปิด (off)
เลข 1 แทนสภาวะมีกระแสไฟฟ้า
หรือเปิด (on)
จึงได้กำหนดตัวเลขที่มีจำนวน 2 จำนวน (2 ค่า) เรียกว่าระบบเลขฐานสอง (Binary
Number System) ซึ่งเป็นระบบตัวเลขที่สามารถนำมาใช้ในการสั่งงานคอมพิวเตอร์
โดยการแทนที่สภาวะต่างๆ ของกระแสไฟฟ้า
แต่ในชีวิตประจำวันของคนเราจะคุ้นเคยกับตัวเลขที่มีจำนวน 10
จำนวน คือ เลข 0
- 9 ซึ่งเรียกว่าระบบเลขฐานสิบ (Decimal
Number System) ดังนั้นจึงมีความจำเป็นต้องศึกษาระบบเลขฐาน
ประกอบการศึกษาวิชาด้านคอมพิวเตอร์ เพื่อความเข้าใจพื้นฐานการทำงานของเครื่องคอมพิวเตอร์
ระบบจำนวนที่ใช้ในทางคอมพิวเตอร์
ประกอบด้วย
ระบบเลขฐานสอง (Binary) ประกอบด้วยตัวเลข
0 และ 1
ระบบเลขฐานแปด (Octal) ประกอบด้วยตัวเลข
0 - 7
ระบบเลขฐานสิบ (Decimal) ประกอบด้วยตัวเลข
0 - 9
ระบบเลขฐานสิบหก (Hexadecimal) ประกอบด้วยตัว
เลข 0 - 9 และ
A - F
ระบบจำนวน
|
จำนวนหลัก (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. ระบบเลขฐานสิบ (Decimal Number
System)
ระบบเลขฐานสิบ เป็นระบบเลขที่ใช้กันในชีวิตประจำวัน
ไม่ว่าจะนำไปใช้คำนวณประเภทใด โดยจะมีสัญลักษณ์ที่ใช้แทนตัวเลขต่างๆ ของเลขฐานสิบ
(Symbol) จำนวน
10 ตัว
ตัวเลขหรือที่เรียกว่า Digit ที่ใช้แทนระบบเลขฐานสิบ
ได้แก่ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
ตัวเลขแต่ละตัวจะมีค่าประจำตัว
โดยกำหนดให้ค่าที่น้อยที่สุด คือ 0 (ศูนย์) และเพิ่มค่าทีละหนึ่ง จนครบจำนวน 10
ตัว ดังนั้นค่ามากที่สุด คือ 9 การนำตัวเลขเหล่านี้ มารวมกลุ่มกัน
ทำให้เกิดความหมายเป็น "ค่า" นั้น อาศัยวิธีการกำหนด "หลัก"
ของตัวเลข (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 มีค่าเป็น 0
ในระบบเลขฐานสิบ จะมีสัญลักษณ์อยู่ 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 คือ ค่ายกกำลังของฐานตามตำแหน่งต่างๆ
เลขที่เป็นเศษส่วน หรือจำนวนผสมนั้น ก็สามารถจะเขียนในรูป Positional
Notation ได้เช่นกัน
โดยตัวเลขแต่ละหลักที่อยู่ในตำแหน่งหลังจุดทศนิยมนั้นกำลังของหลักจะมีค่าเป็นลบ
โดนเริ่มจากลบ 1 เป็นต้นไป
นับจากน้อยไปหามาก
ดังนั้นในระบบเลขฐานสิบ หลักแรกหลังจุดทศนิยมจะมีค่าเท่ากับ เลขจำนวนนั้นคูณด้วย
10-1 ตัวที่สองจะเป็น 10-2 ไปเรื่อยๆ เช่น
123.456 =1 x 102 +
2 x 101 + 3 x 100+4 x 10-1+5 x 10-2+6
x 10-3
กฎการแทนตัวเลขนั้น สามารถนำไปใช้กับระบบตัวเลขทั่วๆ ไปได้ โดยไม่คำนึงว่า
เลขนั้นจะเป็นฐานอะไร
3. ระบบเลขฐานสอง
ระบบเลขฐานสอง มีสัญลักษณ์ที่ใช้เพียงสองตัว คือ 0 และ 1 ถ้าเปรียบเทียบเลขฐานสอง กับเลขฐานสิบแล้ว
ค่าของหลักที่ถัดจากหลักที่น้อยที่สุด (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
|
สามสิยสอง
|
ระบบเลขฐานสองเกิดจากการใช้ตัวเลขเพียง 2 ตัว คือ 0 และ 1 ดังนั้น สมการคือ
N = dnRn +
... + d3R3 + d2R2 + D1R1 +
D0R0
เมื่อ d คือค่า 0 หรือ 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)
4. การแปลงเลขฐานสองเป็นเลขฐานสิบ
การแปลงเลขฐานสองเป็นเลขฐานสิบ มีหลายวิธี
แต่ที่จะแนะนำคือ การกระจายค่าประจำหลัก จากนั้นนำมาบวกรวมกันอีกครั้ง
ผลลัพธ์ที่ได้จะเท่ากับค่าในเลขฐานสิบ
ตัวอย่างที่1 (110111)2 มีค่าเท่ากับเท่าไรในระบบเลขฐานสิบ
วิธีทำ
N = (1 x 25) +
(1 x 24) + (0 x 23) + (1 x 22) + (1 x 21)
+ (1 x 20)
= 32 +
16 + 0 +4 + 2 + 1
1101112 =
5510
การแปลงเลขฐานสอง เป็นเลขฐานสิบ วิธีที่สอง คือ Dibble
Dobble Method โดยการนำเอาเลขหลักซ้ายสุด
มาวางไว้ แล้วคูณด้วย 2 จากนั้นบวกด้วยเลขบิทที่อยู่
ทางขวามือ จากนั้นนำผลลัพธ์ มาคูณด้วย 2 บอกด้วยเลขบิทต่อไป ดังนี้
เช่น ต้องการแปลง (110111)2 เป็นเลขฐานสิบ
บิทซ้ายสุด คือ 1
คูณด้วย 2 และบวกบิทถัดไป (2
x 1) + 1 = 3
คูณด้วย 2 และบวกบิทถัดไป (2
x 3) + 0 = 6
คูณด้วย 2 และบวกบิทถัดไป (2
x 6) + 1 = 13
คูณด้วย 2 และบวกบิทถัดไป (2
x 13) + 1 = 27
คูณด้วย 2 และบวกบิทถัดไป (2
x 27) + 1 = 55
ดังนั้น 1101112 = 5510
5. การแปลงเลขฐานสิบเป็นฐานสอง
การแปลงเลขฐานสิบเป็นเลขฐานสองก็มีหลายวิธี
แต่ที่จะแนะนำคือ การหารด้วย 2 แล้วจดค่าเศษจากการหารไว้ จนกระทั่งหารไม่ได้อีกแล้ว
หรือการหารสั้น จากนั้นนำเศษจากการหารแต่ละครั้ง
มาไล่ลำดับจากล่างขึ้นไปหาค่าบนสุด ผลลัพธ์ที่ได้จะเท่ากับค่าในเลขฐานสอง
ตัวอย่างที่ 2 (29)10 มีค่าเท่ากับเท่าไรในระบบเลขฐานสอง

การแปลงเลขหลังทศนิยม
(เศษส่วน) ฐานสิบ (Fractional Decimal Numbers) ให้เป็นฐานสอง
การเปลี่ยนเลขหลังทศนิยมฐานสิบ ให้เป็นฐานสอง
จะใช้วิธีการนำค่าเลขหลังทศนิยมตั้ง แล้วคูณด้วยสอง
จากนั้นนำผลลัพธ์ที่ได้เป็นตัวตั้งในการคูณครั้งต่อไป จนกว่าค่าผลลัพธ์ส่วนที่เป็น
เลขหลังทศนิยมเท่ากับ .00 กรณีที่คูณแล้วไม่ลงตัวเท่ากับ
.00 ก็ให้คูณจนได้ค่าที่ต้องการ
สุดท้ายนำค่าตัวเลขก่อนทศนิยม จากผลลัพธ์แต่ละครั้ง มาเขียนเรียงต่อกัน
ก็จะได้ค่าฐานสองที่ต้องการ ดังตัวอย่าง
ตัวอย่าง ต้องการแปลงเลข (0.65625)10 เป็นเลขฐานสอง
พิจารณาทีละจุด
นำ 0.65625 คูณด้วย
2 ได้ค่าเท่ากับ 1.31250
- ค่า 1 (เลขก่อนทศนิยม)
จะเป็นค่าหลักแรกของค่าเลขฐานสอง
- นำ .31250 (เลขหลังทศนิยม) ไปเป็นตัวตั้งในการคูณครั้งถัดไป
นำ 0.31250 คูณด้วย
2 ได้ค่าเท่ากับ 0.62500
- ค่า 0 (เลขก่อนทศนิยม)
จะเป็นค่าหลักที่สองของค่าเลขฐานสอง
- นำ .62500 (เลขหลังทศนิยม) ไปเป็นตัวตั้งในการคูณครั้งถัดไป
นำ 0.62500 คูณด้วย
2 ได้ค่าเท่ากับ 1.25000
- ค่า 1 (เลขก่อนทศนิยม)
จะเป็นค่าหลักที่สามของค่าเลขฐานสอง
- นำ .25000 (เลขหลังทศนิยม) ไปเป็นตัวตั้งในการคูณครั้งถัดไป
นำ 0.25000 คูณด้วย
2 ได้ค่าเท่ากับ 0.50000
- ค่า 0 (เลขก่อนทศนิยม)
จะเป็นค่าหลักที่สี่ของค่าเลขฐานสอง
- นำ .50000 (เลขหลังทศนิยม) ไปเป็นตัวตั้งในการคูณครั้งถัดไป
นำ 0.5000 คูณด้วย
2 ได้ค่าเท่ากับ 1.00000
- ค่า 1 (เลขก่อนทศนิยม)
จะเป็นค่าหลักที่ห้าของค่าเลขฐานสอง
- เนื่องจากเลขหลังทศนิยมเท่ากับ
.00000 จึงไม่ต้องคูณต่อ
นำเลขก่อนทศนิยมของการคูณแต่ละครั้ง มาเขียนเรียงกัน จะได้ค่าเท่ากับ 10101
ดังนั้นเลขทศนิยมฐานสิบ 0.65625 จะเท่ากับ 0.10101 ในฐานสอง
ไม่มีความคิดเห็น:
แสดงความคิดเห็น