Chapter 2Value and Number Systems
(ระบบเลขฐาน)
สาขาเทคโนโลยสีารสนเทศคณะเทคโนโลยสีารสนเทศและการสื่อสาร
มหาวทิยาลัยพะเยา
2
ระบบตัวเลข ระบบเลขฐาน ระบบเลขฐานสอง ระบบเลขฐานแปด ระบบเลขฐานสบิ ระบบเลขฐานสบิหก การแปลงเลขฐาน การบวก ลบ คณู หาร เลขฐานต่างๆ
Overview
3
เพื่อใหน้ิสติได้เรยีนรูพ้ื้นฐานของระบบตัวเลข รูว้ธิกีารคำานวณเลขฐานต่างๆ ได้ สามารถแปลงเลขฐานต่างๆ ได้ รูถึ้งวธิกีาร บวก ลบ คณู หาร เลขฐานต่างๆ ได้
Objective
4
ระบบตัวเลขและตัวอักษรถกูมนุษยพ์ฒันาขึน้ตามยุคตามสมยั จนถึงปัจจุบนัเรามรีะบบตัวเลขและตัวอักษรท่ีเป็นสากลไวส้ื่อสารระหวา่งกันและมนุษยก็์นำาเอาศาสตรด้์านนี้มาพฒันาสรา้ง เทคโนโลยีใหม่ๆ เพื่อให้ชวีติความเป็นอยูข่องตนเองดีขึน้ ระบบตัวเลขท่ีเราใชค้ำานวณในชวีติประจำาวนัเราใช้ตัวเลข 10 ตัวประกอบด้วย เลข 0 – 9 เรยีกวา่ระบบเลขฐานสบิ เป็นระบบตัวเลขท่ีมนุษยท์กุคนเขา้ใจ แต่ภายในระบบคอมพวิเตอรม์กีารประมวลผลโดยใชร้ะบบตัวเลขและรหัสต่างๆ อยูห่ลายรูปแบบ จงึมคีวามจำาเป็นอยา่งยิง่ท่ีต้องเรยีนรูร้ะบบเลขฐานต่างๆ การแปลงเลขฐานและรหัสที่ใชใ้นคอมพวิเตอร์
ระบบตัวเลข
5
ระบบเลขฐานเลขฐานหมายถึง กลุ่มขอ้มูลท่ีมจีำานวนหลัก (Digit) ตามชื่อของเลขฐานนัน้ๆ
เชน่ เลขฐานสอง เลขฐานแปด เลขฐานสบิและเลขฐานสบิหก เป็นต้น
ระบบเลขฐานสอง (Binary Number System) ประกอบด้วยตัวเลขสองตัวคือ 0 และ 1ระบบเลขฐานแปด (Octal Number System) ประกอบด้วยตัวเลขแปดตัวคือ 0, 1, 2,...,7ระบบเลขฐานแปด (Decimal Number System) ประกอบด้วยตัวเลขสบิตัวคือ 0, 1, 2,...,9
6
ระบบเลขฐานระบบเลขฐานสบิหก (Hexadecimal Number System) ประกอบด้วยตัวเลขสบิหกตัว คือ 0, 1, 2,...,9 และ A, B, C,…,F (เมื่อ A=10, B=11, C=12,…,F=15 ในฐานสบิ)ชื่อฐานเลข จำานวนหลัก (Digit)ฐานสอง (Binary)
0 1
ฐานแปด (Octal)
0 1 2 3 4 5 6 7
ฐานสบิ (Decimal)
0 1 2 3 4 5 6 7 8 9
ฐานสบิหก (Hexadecimal)
0 1 2 3 4 5 6 7 8 9 A B C D E F
ตารางท่ี 1 จำานวนหลักของระบบจำานวนฐานต่างๆ
7
ระบบเลขฐานฐานสบิ ฐานสอง ฐานแปด ฐานสบิ
หก0 0 0 01 1 1 12 10 2 23 11 3 34 100 4 45 101 5 56 110 6 67 111 7 78 1000 10 89 1001 11 9
10 1010 12 A11 1011 13 B12 1100 14 C13 1101 15 D14 1110 16 E15 1111 17 F
ตารางท่ี 2 เปรยีบเทียบจำานวนในระบบเลขฐานสบิ ฐานสองฐานแปดและฐานสบิหก
8
ระบบเลขฐานการเขยีนระบบเลขฐาน ต้องระบุชื่อฐานกำากับไวท่ี้ท้ายสดุของกลุ่มเลขนัน้ๆ เสมอยกเวน้ระบบเลขฐานสบิซึง่ใชง้านกันอยา่งแพรห่ลาย สว่นในระบบเลขฐานอ่ืนๆ จำาเป็นต้องเขยีนกำากับไวเ้สมอ เพื่อป้องกันความสบัสน
การอ่านระบบเลขฐาน สามารอ่านเรยีงตามตัวเลข ยกเวน้เลขฐานสบิท่ีอ่านค่าของตัวเลขในแต่ละหลัก
11012หมายถึง เลขฐานสองอ่านวา่ หนึ่ง-หนึ่ง-ศูนย-์หนึ่ง57248 หมายถึง เลขฐานแปดอ่านวา่ ห้า-เจด็-สอง-สี่D 8 A016หมายถึง เลขฐานสบิหกอ่านวา่ ดี-แปด-เอ-ศูนย์
เชน่
9
ระบบเลขฐานค่าคงท่ีประจำาหลักหรอืค่าคงท่ีเฉพาะ (Positional Values) คือ ค่ามาตรฐานของระบบเลขฐานในแต่ละตำาแหน่งของระบบเลขฐานนัน้ๆ กล่าวคือ ในระบบเลขฐานต่างๆ ยอ่มมค่ีาคงท่ีเฉพาะตามตำาแหน่งท่ีตัวเลขนัน้ๆ อยู ่ ดังนัน้ตัวเลขหนึ่งๆ ในระบบเลขฐานเดียวกันจะมค่ีาไมเ่ท่ากันเมื่ออยูใ่นตำาแหน่งท่ีต่างกัน
เชน่62914 10พจิารณาตัวเลข 6 มค่ีาหกหมื่นและตัวเลข 1 มค่ีาสบิ71856 10พจิารณาตัวเลข 6 มค่ีาหกและตัวเลข 1 มค่ีาหนึ่งพนั
จากตัวอยา่งพบวา่ ตัวเลขเดียวกันยอ่มมค่ีาต่างกันตามตำาแหน่งของตัวเลขนัน้ๆ โดยค่าค่งท่ีท่ีแตกต่างกันน้ีแปรผันไปตามค่าคงท่ีประจำาหลักหรอื ค่านำ้าหนัก (Position Weights) ซึง่ในระบบตัวเลขแต่ละฐานต่างกำาหนดค่าน้ีแตกต่างกันไป
10
ระบบเลขฐานสองระบบเลขฐานสอง (Binary Number) คือ กลุ่มตัวเลขท่ีแต่ละหลักมค่ีา 0 หรอื 1 เท่านัน้โดยแต่ละตำาแหน่งของเลขฐานสองเรยีกวา่ Binary Digit (bit) ซึง่ค่าของเลขฐานสองนัน้สามารถแทนด้วยสถานะทางไฟฟา้ได้ทันที และสามารถเทียบค่านำ้าหนักตามตำาแหน่งประจำาหลักท่ีสมัพนัธกั์บระบบเลขฐานสบิได้ ดังน้ี
… . ...
8 4 2 1 .
11
ระบบเลขฐานแปดระบบเลขฐานแปด (Octal Number) คือ กลุ่มตัวเลขท่ีแต่ละหลักมค่ีา 0 ถึง 7 เท่านัน้ระบบเลขฐานสองแสดงถึงการทำางานของระบบดิจติอลในจุดเล็กๆ แต่เมื่อมกีารพฒันาระบบดิจติอลก็มกีารทำางานท่ีซบัซอ้นและยุง่ยากมากขึน้ขอ้มูลก็มมีากขึน้ตาม จงึใชเ้ลขฐานท่ีสงูขึน้คือ ระบบเลขฐานแปด โดยสามารถเทียบค่านำ้าหนักตามตำาแหน่งประจำาหลักท่ีสมัพนัธกั์บระบบเลขฐานสบิได้ ดังนี้
… . ...
512 64 8 1 .
12
ระบบเลขฐานสบิระบบเลขฐานสบิ (Decimal Number) คือ กลุ่มตัวเลขท่ีแต่ละหลักมค่ีา 0 ถึง 9 เท่านัน้เป็นระบบเลขฐานท่ีเราคุ้นเคยมากท่ีสดุ สามารถเทียบค่านำ้าหนักตามตำาแหน่งประจำาหลักระบบเลขฐานสบิได้ ดังน้ี … . ...
1000
100 10 1 .
13
ระบบเลขฐานสบิหกระบบเลขฐานสบิหก (Hexadecimal Number) คือ กลุ่มตัวเลขท่ีแต่ละหลักมค่ีา 0 ถึง 9 และ A ถึง F เท่านัน้ ดังท่ีกล่าวแล้วขา้งต้นระบบดิจติอลเมื่อมกีารทำางานท่ีซบัซอ้นขอ้มูลยอ่มมากขึน้ระบบเลขฐานสบิหกจงึนิยมนำามาใชใ้นการป้อนคำาสัง่โปรแกรมและสามารถเทียบค่านำ้าหนักตามตำาแหน่งประจำาหลักท่ีสมัพนัธ์กับระบบเลขฐานสบิได้ ดังนี้
… . ...
4096
256 16 1 .
14
การแปลงเลขฐาน การแปลงเลขฐาน 2 เป็นเลขฐาน 10สามารถทำาได้โดยวธิกีารคณูค่าประหลักคือ กับ
ค่าสมัประสทิธิแ์ละนำาผลท่ีได้จากการคณูในแต่ละหลักมารวมกัน++ = + = 8+4+0+1 = 13
เชน่
+++ = ++ = 8+0+2+0+0.5+0.25 = 10.75
15
การแปลงเลขฐาน การแปลงเลขฐาน 8 เป็นเลขฐาน 10สามารถทำาได้โดยวธิกีารคณูค่าประหลักคือ กับ
ค่าสมัประสทิธิแ์ละนำาผลท่ีได้จากการคณูในแต่ละหลักมารวมกัน
= + = 2560+448+16+4 = 3028เชน่
+ = ++ = 512+192+0+2+0.5+0.125 = 706.625
16
การแปลงเลขฐาน การแปลงเลขฐาน 16 เป็นเลขฐาน 10สามารถทำาได้โดยวธิกีารคณูค่าประหลักคือ กับ
ค่าสมัประสทิธิแ์ละนำาผลท่ีได้จากการคณูในแต่ละหลักมารวมกัน
=+= 53248+2048+160+0 = 55456เชน่
+ = ++ = 1280+128+15++0.0625+0.04296875 = 1423.10546875
17
การแปลงเลขฐาน การแปลงเลขฐาน 10 เป็นเลขต่างๆการเปลี่ยนเลขฐานสบิไปเป็นเลขฐานต่างๆ มขีัน้
ตอนดังน้ี คือ 1. แบง่เลขฐานสบิจำานวนเต็มแยกออกจากเลขฐานสบิท่ีเป็นทศนิยม 2. สว่นของเลขฐานสบิท่ีเป็นจำานวนเต็ม - หลักการคือ นำาเลขฐาน 10 ตัวนัน้มาต้ังหารด้วยเลขฐานท่ีต้องการไปเรื่อยๆ จน กวา่ผลลัพธ์จะเป็น 0 - ในการหารแต่ละครัง้ให้เก็บเศษไว ้เมื่อการหารสิน้สดุแล้ว ให้นำาเศษมาเรยีงกันจากล่างขึน้บนก็จะได้เลขฐานท่ีแปลงไป - โดยเศษตัวสดุท้ายคือ MSB : Most Significant Bit เป็นบติท่ีอยูท่างด้านซา้ยสดุและมค่ีามากท่ีสดุ และ LSB : Least Significant Bit เป็นบติท่ีอยูท่างด้านขวาสดุและมค่ีาน้อยท่ีสดุ
18
การแปลงเลขฐาน การแปลงเลขฐาน 10 เป็นเลขต่างๆ3. สว่นของเลขฐานสบิท่ีเป็นทศนิยมจะถกูคณู
ด้วยเลขฐานท่ีต้องการหลายๆ ครัง้เท่าจำานวนทศนิยมท่ีต้องการหรอืจนกวา่จะคณูต่อไปไมไ่ด้ ผลลัพธคื์อเลขจำานวนเต็มหน้าทศนิยมของการคณูแต่ละครัง้ เลขจำานวนเต็มของการคณูครัง้แรกมค่ีาเป็น MSD เลขจำานวนเต็มของการคณูครัง้สดุท้ายมค่ีาเป็น LSD
19
การแปลงเลขฐาน การแปลงเลขฐาน 10 เป็นเลขต่างๆ
เชน่ )452)222 1)112 0) 52 1) 22) 12 100 1
LSB
MSB4510=1011012
4510=()8
)458) 58 0
554510=558
4510=()16
)4516) 216 0
1324510=2D16
20
การแปลงเลขฐาน การแปลงเลขฐาน 10 เป็นเลขต่างๆเชน่
LSBMSB
0 .5410=0 .12
0 .54×2
1 .08
0 .0 8×216
21
การแปลงเลขฐาน การแปลงเลขฐาน 10 เป็นเลขต่างๆ
0 .5410=()8
0 .5410=0 . 42436568
LSBMSB
0 .54×8
4 .32
0 .32×8
2 .56
0 .56×8
8
48×8
3 .84
84×8
72
0 .72×8
5 .76
0 .76×8
08
22
การแปลงเลขฐาน การแปลงเลขฐาน 10 เป็นเลขต่างๆ
0 .5410=()16
0 .5410=8 A3 D716
LSBMSB
0 .54×16
8 .6 4
0 .6 4×16
10 .24
0 .24×16
3 .84
0 .84×16
13 .44
0 . 44×16
7 .04
23
การแปลงเลขฐาน การแปลงเลขฐาน 2 เป็นเลขฐาน 8
การแปลงเลขฐาน 2 เป็นเลขฐาน 8 ทำาได้โดยเขยีนเลขฐานสอง 3 บติ แทนเลขฐานแปด 1 ตัว เขยีนเรยีงไปเป็นลำาดับตามค่าเดิมก็จะได้เลขฐานใหมอ่อกมา
1101011 02=()8¿11010110¿326¿326 8
เชน่
111001 .0112=()8¿111001.011
3¿71 .3 8
24
การแปลงเลขฐาน การแปลงเลขฐาน 2 เป็นเลขฐาน 16การแปลงเลขฐาน 2 เป็นเลขฐาน 16 ทำาได้โดย
เขยีนเลขฐานสอง 4 บติ แทนเลขฐานสบิหก 1 ตัว เขยีนเรยีงไปเป็นลำาดับตามค่าเดิมจะก็ได้เลขฐานใหมอ่อกมา
1101011 02=()16¿11010110¿136¿D6 16
เชน่
111001 .0112=()16¿111001 .0110
6¿39 .6 16
25
การแปลงเลขฐาน การแปลงเลขฐาน 8 เป็นเลขฐาน 16การแปลงเลขฐาน 8 เป็นเลขฐาน 16 และการ
แปลงเลขฐาน 16 เป็นเลขฐาน 8 มหีลักการแปลง คือ ให้แปลงเลขฐานนัน้เป็นเลขฐานสองก่อแล้วแปลงเลขฐานสองท่ีได้เป็นเลขฐานท่ีต้องการ
437 .658=()16
¿100011111 .110 101¿000100011111 .1101 0100¿ 11F .D4 16
เชน่¿ 437 .65
26
การแปลงเลขฐาน การแปลงเลขฐาน 16 เป็นเลขฐาน 8
9 AB .3 E16=()8
¿100110101011 .00111110¿100110101011 .001111100¿ 4653 .174 8
เชน่¿9 A B .3 E
27
การบวกเลขฐาน 2การแปลงเลขฐาน 8 เป็นเลขฐาน 16 และการแปลงเลขฐาน 16 เป็นเลขฐาน 8 มหีลักการแปลง คือ ให้แปลงเลขฐานนัน้เป็นเลขฐานสองก่อแล้วแปลงเลขฐานสองท่ีได้เป็นเลขฐานท่ีต้องการตัวต้ัง ตัวบวก ผลลัพธ์ ตัวทด
0 0 0 00 1 1 01 0 1 01 1 0 1
28
การบวกเลขฐาน 2เชน่
11011
11101+¿
1 110112+111012=1110002
100112+101002
10011
10100+¿
1 100112+1010 02=1001112
29
การลบเลขฐาน 2การลบเลขฐานสอง 0 – 1 ตัวต้ังมค่ีาน้อยกวา่ตัวลบ จงึต้องไปยมืหลักหน้ามา 1ในการยมืแต่ละครัง้ของเลขฐานสองมค่ีาเท่ากับ 2 เมื่อนำามาลบกับตัวลบคือ 1 จงึได้ผลลัพธเ์ป็น 1 และอยา่ลืมหักหลักท่ีถกูยมืออกอีก 1 ด้วยตัวต้ัง ตัวลบ ผลลัพธ์ ตัวยมื
0 0 0 00 1 1 11 0 1 01 1 0 0
30
การลบเลขฐาน 2เชน่
11101
10110−
0 0111
111012−101102=1112
100012−11102
10001
1110−
0 011
100012−11102=112
31
การคณูเลขฐาน 2
เชน่
111012×1102=101000102
101102×1012
101102×1012=11011102
การคณูเลขฐาน 2 ใชห้ลักการเดียวกันกับการคณูเลขฐาน 10
11011
110×
0 00001101111011
+¿
10100010
10110
101×
101100 000010110
+¿
1101110
32
การหารเลขฐาน 2
เชน่
110112÷112=10012
111102÷1102
111102÷1102=1012
การหารเลขฐาน 2 ใชห้ลักการเดียวกันกับการคณูเลขฐาน 10
11110 0
1001
0 0010 011110
−
−−
−
11011011
101
001101100
−
−−
33
การบวกเลขฐาน 8เชน่
6357
14 27+¿
10006
63578+14278=100062
26538+35618
2653
3561+¿
6 43 4
26538+35618=64348
34
การลบเลขฐาน 8เชน่
6357
14 27−
4730
63578−14278=47308
51248−3108
5124
310−
4614
51248−3108=46148
35
การคณูเลขฐาน 8
เชน่
1438×658=121778
36718×5128
36718×5128=23721728
การคณูเลขฐาน 8 ใชห้ลักการเดียวกันกับการคณูเลขฐาน 10
14 3
65×
7571122+¿12177
3671
512×
75623671
23235+¿
237217 2
36
การหารเลขฐาน 8
เชน่
7028÷178=368
156248÷248
156248÷248=5418
การหารเลขฐาน 8 ใชห้ลักการเดียวกันกับการคณูเลขฐาน 10
1755132
6
1320
−
−
24144122
5 41
12024240
−
−−
37
การบวกเลขฐาน 16เชน่
9 A 4
72 E+¿
10D 2
9 A 416+72E16=10D 216
B329516+F 4C 6116
B3295
F 4C 61+¿
1 A 7 E F6
B329516+F 4C 6116=1 𝐴7𝐸𝐹 68
38
การลบเลขฐาน 16เชน่
D 629
82 4 F−
53D A
D 62916−824 F16=53DA16
471516− ABC16
4715
A BC−
3C5 9
471516− ABC16=3C 5916
39
การคณูเลขฐาน 16
เชน่
70 F16×2 A16=1287616
C 87116×31216
C 87116×31216=2676 AF 216
การคณูเลขฐาน 16 ใชห้ลักการเดียวกันกับการคณูเลขฐาน 10
70 F
2 A×
4696𝐸1𝐸 +¿12876
C 871
312×
190𝐸 2C 871
25953+¿
2676 A F 2
40
การหารเลขฐาน 16
เชน่
B5216÷1216=A 116
E03016÷2216
E03016÷2216=69816
การหารเลขฐาน 16 ใชห้ลักการเดียวกันกับการคณูเลขฐาน 10
12B412
A1
120
−
−
22CC143
6 98
1321101100
−
−−
41
การหารเลขฐาน 2
เชน่
B5216÷1216=A 116
E03016÷2216
E03016÷2216=69816
การหารเลขฐาน 2 ใชห้ลักการเดียวกันกับการคณูเลขฐาน 10
12B412
A1
120
−
−
22CC143
6 98
1321101100
−
−−
42
LAB 2 ฝึกการคำานวณและหาคำาตอบ เขยีนลงบนกระดาษ A4 แล้วสง่ในห้อง
1. 2. 3. 4. 5.
แปลงเลขต่อไปน้ีให้เป็นเลขฐาน 2 เลขฐาน 8 และเลขฐาน 16
แปลงเลขต่อไปนี้ให้เป็นเลขฐาน 101. 2. 3. 4. 5. 6.
43
1.2.3.4.5.6.7.8.
จงหาคำาตอบและแสดงวธิทีำา :9.10.11.12.13.14.15.16.
Assignment งานท่ีมอบหมาย ครัง้ท่ี 2 สง่จนัทรห์น้า ก่อน 15.00 น.
44
Question/Answer