More Related Content
Similar to ระบบเลขฐาน (19)
More from Preecha Yeednoi
More from Preecha Yeednoi (6)
ระบบเลขฐาน
- 1. บทที่ 1
------------------------------------- ระบบเลขฐาน (Number System)
หัวขอสําคัญ
1. ระบบตัวเลข
2. ระบบตัวเลขฐานสิบ
3. ระบบเลขฐานสอง
4. ระบบเลขฐานแปด
5. ระบบเลขฐานสิบหก
6. แบบฝกหัด
1.1 ระบบตัวเลข (Number Systems)
ระบบตัวเลขทางพีชคณิตที่นยมใชในระบบดิจิตอลมีอยู 4 ระบบ คือ
ิ
ระบบเลขฐานสิบ (Decimal Number System) จะมีเลขฐานเปน 10 นั่นคือ จะใช
สัญลักษณหรือหลักที่แตกตางกันเทากับ 10 ในการแสดงคาของตัวเลข
ระบบเลขฐานสอง (Binary Number System ) จะมีเลขฐานเปน 2 นั่นคือ จะใช
สัญลักษณหรือหลักที่แตกตางกันเทากับ 2 ในการแสดงคาของตัวเลข
ระบบเลขฐานแปด (Octal Number System) จะมีเลขฐานเปน 8 นั่นคือ จะใช
สัญลักษณหรือหลักที่แตกตางกันเทากับ 8 ในการแสดงคาของตัวเลข
ระบบเลขฐานสิบหก (Hexadecimal Number System) จะมีเลขฐานเปน 16 นั่นคือ
จะใชสัญลักษณหรือหลักทีแตกตางกันเทากับ 16 ในการแสดงคาของตัวเลข
่
1.2 ระบบตัวเลขฐานสิบ
กอนที่จะเรียนรูระบบเลขฐานอื่นๆ จําเปนที่จะตองเรียนรูคุณลักษณะของระบบ
เลขฐานสิบกอนระบบเลขฐานสิบนี้จะมีเลขฐานเปนสิบและคือระบบที่มีคาตามตําแหนงซึ่ง
หมายความวา คาของมันในแตละหลักจะขึ้นอยูกับตําแหนงของมัน ซึ่งมีคุณลักษณะดังตอไปนีคือ้
1) ฐาน (Base)
ฐานของระบบตัวเลขจะถูกกําหนดเปนคาของตัวเลขในแตละหลัก ซึ่ง
สามารถเกิดขึ้นในแตละตําแหนงในระบบตัวเลข
- 2. 2 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
ระบบเลขฐานสิบจะมีฐานเปนเลข 10 ซึ่งหมายความวาแตละหลักของมัน
จะประกอบดวยเลข 10 ตัว เลขเหลานี้ คือ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 โดยที่ตัวเลขเหลานี้อาจจะถูก
ใชอยูในแตละตําแหนงของตัวเลขในระบบนี้ได ตัวอยางการเขียนเลขฐาน เชน 456 จะเขียนเปนเลข
ฐาน 10 คือ (456)10 หรือ 456 ตามปกติจะเปนที่รกันวาถาตัวเลขที่ไมมีเลขฐานเขียนอยูคือตัวเลข
ู
ฐาน 10
2) คาของตําแหนง (Position Value)
คาของตัวเลขในแตละหลักจะมีคาคงที่และขึ้นอยูกับตําแหนงของมัน
(หรือน้ําหนักของมัน) ตัวอยางเชนคาของ 2 ในตัวเลข 200 จะไมเทากับคาของ 2 ในตัวเลข 20 เปน
ตน ในลักษณะ เชนเดียวกันคาของ 3 ในแตละหลักจะมีคาแตกตางกันดังรูปที่ 1.1
รูปที่ 1.1 แสดงคาของ 3 ในแตละหลักในระบบเลขฐาน 10
ในลักษณะคลาย ๆ กัน เชน เลข (4,831)10 สามารถแตกคาในแตละหลักออกมาไดดงนี้ คือ
ั
(4,831)10 = 4 x 103 + 8 x 102 + 3 x 101 + 1 x 100
หลักที่ 4 หลักที่ 3 หลักที่ 2 หลักที่ 1
ซึ่งจะเห็นไดวาตัวเลข 1 ในหลักที่ 1 จะมีคาต่ําสุด ซึ่งเลข 1 นี้เราเรียกวา หลักที่มี
คานอยที่สุด หรือ LSD (Least Significant Digit) ขณะที่เลข 4 ในหลักที่ 4 จะมีคาสูงสุดซึ่งจะถูก
เรียกวาหลักทีมีคาสูงสุดหรือ MSD (Most Significant Digit)
่
สวนตัวเลขฐานสิบที่ประกอบดวยทศนิยมสามารถเขียนคาในแตละตําแหนงของ
ทศนิยมไดเชนเดียวกัน ตัวอยางเชน 4,831.263 สามารถแตกคาในแตละหลักออกมาไดดังนี้คือ
4,831.263 = 4 x103+ 8x102 + 3x101 + 1x100 + 2x10-1+ 6x10-2+ 3x10-3
- 3. 3 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
ซึ่งจะเห็นไดชดเจนวาเลขยกกําลัง 10 ทางดานซายของจุดทศนิยมจะมีคาเริ่มตั้งแต
ั
0 เปนตนไป สวนเลขยกกําลัง 10 ทางดานขวาของจุดทศนิยมจะมีคาเริ่มตั้งแต -1 เปนตนไป
1.3 ระบบเลขฐานสอง
ระบบเลขฐานสองจะเหมือนกับระบบเลขฐานสิบ คือ ประกอบดวยฐานและคา
ของตําแหนงในแตละหลัก
1) ฐาน (Base)
ฐานของระบบเลขฐานสองคือ 2 เพราะวาใชเลข 2 หลักคือ 0 และ 1 ในทาง
ดิจิตอล จะเรียกหลักของเลขฐานสองวาบิท (bit) ตัวเลขในระบบเลขฐานสองทุกจํานวนจะ
ประกอบดวยตัวเลข 0 และ 1 เทานั้น ตัวอยางเชน 10, 100 และ 1001 ซึ่งอานวา หนึ่ง-ศูนย, หนึ่ง-
ศูนย-ศูนย
และหนึง-ศูนย-ศูนย-หนึ่ง ตามลําดับ เพื่อหลีกเลี่ยงการสับสนในการอานคาตัวเลขในระบบ
่
เลขฐานสิบอีกวิธีหนึ่งที่สามารถปองกันความสับสนในการอานคาในระบบเลขฐานสอง และระบบ
เลขฐานสิบ คือ เขียนเลขฐานหอยไว ตัวอยาง เชน 1010, 10010, 3,62510 เปนเลขฐานสิบ 102 , 1002,
10012 เปนเลขฐานสอง เปนตน
2) คาของตําแหนง (Position Value)
คาของตําแหนงในระบบเลขฐานสองจะมีลกษณะเหมือนกับเลขฐานสิบ
ั
คือ คาในแตละหลักจะมีน้ําหนักตางกัน อยางไรก็ตามคาของตําแหนงในแตละบิทจะสอดคลองกับ
เลขยกกําลัง 2 คาของตําแหนงทางดานซายของจุดทศนิยมจะเพิ่มขึ้นจากเลขยกกําลัง 0 ของ 2 ไป
ตามลําดับ สวนคาของตําแหนงทางดานขวาของจุดทศนิยมจะลดลงจากเลขยกกําลัง -1 ของ 2 ไป
ตามลําดับ ตัวอยางเชน การกระจายคาของ 1010.1012 ดังรูปที่ 1.2
MSB LSB
1 0 1 0 i 1 0 1
23 22 21 20 2-1 2-2 2-3
รูปที่ 1.2 การกระจายคาของ 1010.1012 ในลักษณะเลขยกกําลังของ 2
- 4. 4 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
จะเห็นไดวาคาของบิทที่ 4 ทางดานซายของจุดทศนิยมจะมีคาสูงสุด และ
ถูกเรียกวา หลักที่มีคามากทีสุด ในลักษณะคลาย ๆ กัน บิทที่ 3 ทางดานขวาของจุดทศนิยมจะมีคา
่
ต่ําสุด และถูกเรียกวาหลักทีมีคานอยที่สุด หรือ LSD ( Least Significant Digit) ตัวอยางของคา
่
เสมือนทางเลขฐานสิบของเลขฐานสองของ 1010.1012 สามารถแสดงไดดังนี้คือ
1010.1012 = (1x23)+(0x22)+(1x21)+(0x20)+(1x2-1)+(0x2-2)+(1x2-3)
คาทางเลขฐานสิบของ 1010.1012 = 8 + 0 + 2 + 0 + 1 + 0 + 1
2 8
= 10.62510
ตามที่กลาวมาแลวขางตนวาคาของตําแหนงของเลขฐานสองจะมีลักษณะคือ
คาของเลขทางดานซายของจุดทศนิยมจะมีคาเพิ่มขึ้นตามเลขยกกําลังของ 2 โดยเริ่มจากเลขยกกําลัง
0 เปนตนไป สวนคาของเลขทางดานขวาของจุดทศนิยมจะมีคาลดลงตามเลขยกกําลังของ 2 โดย
เริ่มจากเลขยกกําลัง-1 เปนตนไป ดังรูปที่ 1.3
คาของตําแหนงในเลขฐานสอง 24 23 22 21 20 . 2-1 2-2 2-3 2-4
คาของตําแหนงเสมือนทางฐาน 16 8 4 2 1 . 1 1 1 1
2 4 8 16
สิบของเลขฐานสอง
รูปที่ 1.3 คาของตําแหนงในเลขฐานสอง
การเปลี่ยนเลขฐานสองเปนเลขฐานสิบ (Binary to Decimal Conversion)
ขั้นตอนในการเปลี่ยนเลขจํานวนเต็มในฐานสองเปนฐานสิบ ทําไดดังนี้คือ
1. เขียนเลขฐานสองทั้งหมดโดยเรียงแตละหลักหรือแตละบิทเปนแถวเดียวกัน
2. เขียนคาของแตละตําแหนงในรูปฐานสิบ คือ 1, 2, 4, 8, . . . โดยเริ่มจากขวาไป
ซาย
3. นําขั้นตอนที่ 1 และขั้นตอนที่ 2 คูณกันในแตละบิท
4. นําคาแตละหลักในขั้นตอนที่ 3 มาบวกกัน
ตัวอยางที่ 1.1 ใหเปลี่ยนเลข 101112 ไปเปนเลขฐานสิบ
วิธีทํา
ขั้นตอนที่ 1 1x 0x 1x 1x 1x
ขั้นตอนที่ 2 16 8 4 2 1
- 5. 5 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
ขั้นตอนที่ 3 16 0 4 2 1
ขั้นตอนที่ 4 16 + 0 + 4 + 2 + 1 = 2310
ดังนั้น 101112 = 2310 ***
เลขฐานสองจะแปลงเปนเลขฐานสิบไดดังตัวอยางในตารางที่ 1.1
เศษสวนของระบบเลขฐานสอง (Binary Fractions)
ขั้นตอนการแปลงเศษสวนของเลขฐานสองเปนเลขฐานสิบจะมีขั้นตอนเดียวกับการแปลง
เลขจํานวนเต็มฐานสองเปนเลขฐานสิบจะแตกตางกันเพียงเลขยกกําลังเทานั้น
ตัวอยางที่ 1.2 ใหเปลี่ยน 0.11102 เปนเลขฐาน 10
วิธีทํา
ขั้นตอนที่ 1 0 . 1 1 1 0
ขั้นตอนที่ 2 1
2
1 1
8
1
16
4
ขั้นตอนที่ 3 . 1 1 1
0
2 4 8
ขั้นตอนที่ 4 1 + 1 + 1 + 0 = 0.87510
2 4 8
∴ 0.11102 = 0.87510 ***
ตัวอยางที่ 1.3 ใหแปลงเลขฐานสอง 111.10112
วิธีทํา
ขั้นตอนที่ 1 0 . 1 1 1 0
ขั้นตอนที่ 2 1
2
1 1
8
1
16
4
ขั้นตอนที่ 3 . 1 1 1
0
2 4 8
ขั้นตอนที่ 4 1 + 1 + 1 + 0 = 0.87510
2 4 8
∴ 0.11102 = 0.87510 ***
วิธีแปลงเลขฐานสองเปนเลขฐานสิบโดยใชวิธี Double-Dadd
วิธี Double-Dadd เปนวิธีการแปลงเลขฐานสองที่มีขนาดใหญไปเปนเลขฐานสิบ ซึ่งมี 3
ขั้นตอนดังตอไปนี้คือ
- 6. 6 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
1. คูณบิทแรกทางซายสุดดวย 2 และบวกบิทถัดไปและคูณดวย 2
2. ผลรวมจะเพิ่มเปน 2 เทาและบวกคานีกับบิทถัดไป
้
3. ทําตามขั้นตอนที่ 1 และขั้นตอนที่ 2 จนถึงบิททางขวาสุด
ตัวอยางที่ 1.4 ใหเปลี่ยนเลข 1110112 เปนเลขฐานสิบโดยใชวิธี Double-Dadd
วิธีทํา 1 1 0 1 1
2 x 1 = 2, 2 + 1 = 3, 3 x 2 = 6, 6 + 0 = 6, 6 x 2 = 12, 12 + 1 = 13, 13 x 2 = 26, 26 + 1 =
2710
∴ 110112 = 2710 ***
การเปลี่ยนเลขฐานสิบเปนเลขฐานสอง
1) จํานวนเต็ม (Integers)
การเปลี่ยนเลขจํานวนเต็มฐานสิบเปนเลขฐานสองทําไดโดยวิธีที่เรียกวาวิธี
ดับเบิ้ลแดบเบิล (Double-Dabble Method) ซึ่งก็คือวิธีการหารดวย 2 วิธีนี้ทําไดโดยใช 2 หาร
้
ดวยเลขฐานสิบและเขียนเศษไวในในแตละครั้งของการหาร เศษที่ไดจะถูกเขียนในลําดับที่กลับกัน
คือจากลางขึ้นบน ตัวอยางเชนการเปลี่ยนคา 2910 เปนเลขฐานสองทําไดดังนี้ คือ
2) 29 เศษ
2) 14 1 บน
2) 7 0
2) 3 1
1 1 ลาง
∴ จะได 2910 = 111012
2) เศษสวน (Fractions)
- 7. 7 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
ตัวเลขฐานสิบที่เปนจุดทศนิยมสามารถเปลี่ยนเปนเลขฐานสองไดโดยใช
วิธีการคูณดวยสอง (Multiply-by-two Method) และบันทึกคาทดในตําแหนงจํานวนเต็ม ตัวเลขทด
นี้
จะถูกเรียงไปดานหนาหรือจากบนลงลาง ตัวอยางเชน 0.937510 สามารถเปลี่ยนเปนเลขฐานสองได
ดังนี้ คือ
0.9375 x 2 = 1.875 = 0.875 ทด 1 บน
0.875 x 2 = 1.75 = 0.75 ทด 1
0.75 x 2 = 1.5 = 0.5 ทด 1
0.5 x 2 = 1.0 = 0.0 ทด 1 ลาง
∴ 0.937510 = 0.11112
ตัวอยางที่ 1.5 ใหเปลี่ยน 0.72510 เปนเลขฐานสอง
วิธีทา ํ
0.725 x 2 = 1.45 = 0.45 ทด 1
0.45 x 2 = 0.9 = 0.9 ทด 0
0.9 x 2 = 1.8 = 0.8 ทด 1
0.8 x 2 = 1.6 = 0.6 ทด 1
0.6 x 2 = 1.2 = 0.2 ทด 1
0.2 x 2 = 0.4 = 0.4 ทด 0
0.4 x 2 = 0.8 = 0.8 ทด 0
จะเห็นวาจะคูณใหลงตัวจนเปน 0 ไมได ดังนั้นจะได 0.72510 ≈ 0.10111002
ตัวอยางที่ 1.6 ใหเปลี่ยน 75.87510 เปนเลขฐานสอง
วิธีทํา แปลงตัวเลขออกเปน 2 สวน คือ จํานวนเต็ม 7510 และทศนิยม 0.87510 มาแปลง
เปนเลขฐานสองซึ่งทําไดดังนี้คือ
จํานวน 2) 75 บน
2) 37 1
2) 18 1
2) 9 0
2) 4 1
- 8. 8 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
2) 2 1
1 0 ลาง
จะได 7510 = 10110112
ทศนิยม 0.875 x 2 = 1.75 = 0.75 ทด 1 บน
0.7 x 2 = 1.5 = 0.5 ทด 1
0.5 x 2 = 1.0 = 0.0 ทด 1 ลาง
จะได 0.87510 = 0.1112
ดังนั้น 75.87510 = 1011011.1112 ***
การเลื่อนตําแหนงของจุดทศนิยม
ถาจุดทศนิยมในระบบเลขฐานสิบถูกเลื่อนไปทางขวา คาของตัวเลขจะถูกคูณดวย 10
ตัวอยาง เชน เมื่อจุดทศนิยมของ 9.4310 ถูกเลื่อนไปทางขวาหนึ่งตําแหนงจะกลายเปน 94.310 นั่นก็
คือมันจะมีคาเพิ่มขึ้น 10 เทา แตถาเลื่อนจุดมาทางซายจะทําใหคาลดลง 1 เทา ถาเลื่อนจุดทศนิยม
10
ของ 9.4310 มาทางซายหนึ่งจุดจะได 0.94310 คือคาลดลง 1 เทา
10
สวนในระบบเลขฐานสองนั้น การเลื่อนจุดทศนิยมหนึงจุดนั้นก็คือการคูณหรือ
่
หารดวย 2 นั่นเอง ตัวอยางเชน 101.02 มีคาเทากับ 52 ถาเลื่อนจุดไปทางขวาหนึ่งจุดจะมีคาเทากับ
10102 ซึ่งก็คือ 1010 มีคาเปน 2 เทาจากเดิม แตถาเลื่อนจุดไปทางซายหนึ่งจุดจะมีคาเทากับ 10.102
ซึ่งมีคาเทากับ 2.510 นั่นก็คือมีคาลดลง 1 เทานั้นเอง
2
การคํานวณเลขฐานสอง
การใชงานของเลขฐานสองมีการใชงานในการคํานวณพื้นฐานใน 4 ลักษณะ ดังตอไปนี้คือ
1. การบวก ( addition)
2. การลบ (subtraction)
3. การคูณ (multiplication)
4. การหาร (division)
- 9. 9 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
การบวก เปนการใชงานทีสําคัญที่สุด การใชวิธีคอมพลีเมนตจะใชชวยการหาผลลบ
่
โดยใชวิธีการบวกกัน ซึ่งในคอมพิวเตอรดิจิตอลจะนิยมใชการลบโดยวิธีคอมพลีเมนต จะทําใหใช
จํานวนของฮารดแวรลดลง เพราะวาจะใชเพียงแควงจรดิจิตอลชนิดบวกกันเทานัน ในทํานองเดียวกัน
้
คือการคูณกันสามารถทําไดโดยการบวกกันแบบซ้ํา ๆ กัน สวนการหารคือการลบกันแบบซ้ํา ๆ กัน
นี่จึงเปนเหตุผลที่วาการบวกกันจะมีการใชงานมากที่สุดในวงจรดิจิตอล
1) การบวกกันของเลขฐานสอง (Binary Addition)
หลักเกณฑที่ชวยในการบวกเลขฐานสองมี 4 ขอดังนี้คือ
1. 0 + 0 = 0
2. 0 + 1 = 1
3. 1 + 0 = 1
4. 1 + 1 = 1 0 หรือเทากับ 0 ทด 1
เชน การบวกเลขฐานสอง 2 จํานวน คือ 1102 และ 1112 สามารถทําไดดังนี้คือ
110 คอลัมนที่ 1 0 + 1 = 1
+
111 คอลัมนที่ 2 1 + 1 = 0 ทด 1
11012 คอลัมนที่ 3 1 + 1 + ทด 1 = 10 + 1 = 112
ตัวอยางที่ 1.7 ใหหาผลบวกของ 1011012 กับ 1101112
วิธีทํา
ทด 11111
101101 +
110111
11001002
ขั้นตอนการบวกกันมีดังนี้คือ
1. คอลัมนที่ 1 : 1 + 1 = 0 ทด 1
2. คอลัมนที่ 2 : 0 + 1 = 1+ ทด 1 (จากคอลัมนที่ 1) = 0 ทด 1
3. คอลัมนที่ 3 : 1 + 1 = 0 ทด 1+ ทด 1 (จากคอลัมนที่ 2) = 1
ทด 1
4. คอลัมนที่ 4 : 1 + 0 = 1+ทด 1 (จากคอลัมนที่ 3) = 0 ทด 1
- 10. 10 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
5. คอลัมนที่ 5 : 0 + 1 = 1+ ทด 1 (จากคอลัมนที่ 4) = 0 ทด 1
6. คอลัมนที่ 6 : 1 + 1 = 1 + ทด 1( จากคอลัมนที่ 5) = 112
ตัวอยางที่ 1.8 ใหหาผลบวกของ 100012 กับ 111112
วิธีทํา 10001
+
11111
1100002 ***
2) การลบกันของเลขฐานสอง (Binary Subtraction)
หลักเกณฑของการลบกันของเลขฐานสองมี 4 ขอ ดังนี้คือ
1. 0 - 0 = 0
2. 1 - 0 = 1
3. 1 - 1 = 0
4. 0 - 1 = 1 ยืม 1 จากคอลัมนถัดไป หรือ 10 - 10 = 1
ตัวอยางที่ 1.9 ใหหาคาของ 10102 ลบกับ 1102
วิธีทํา
1
1 0 10
-
110
1002 ***
จะเห็นไดวาในคอลัมนที่ 3 จะยืมคอลัมนที่ 4 มา 1
การคอมพลีเมนตของตัวเลข (Complement of a number)
การลบกันในงานดิจิตอลนิยมใชคอมพลีเมนตของเลขฐานสอง 2 ในการ
ลบกัน คือ
1) 1'S คอมพลีเมนต (1'S complement)
1'S คอมพลีเมนตของเลขฐานสองทําไดโดยเปลี่ยนเลข 0 แตละตัวใหเปน
1 และเปลี่ยนเลข 1 แตละตัวใหเปน 0 ตัวอยางเชน 1'S คอมพลีเมนตของ 1012 คือ 0102 และของ
101012 คือ 010102 เปนตน
2) 2'S คอมพลีเมนต (2'S complement)
- 11. 11 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
2'S คอมพลีเมนตของเลขฐานสองทําไดโดยบวกดวย 1 กับ 1'S คอมพลีเมนต
ซึ่งแสดงความสัมพันธไดดังสมการที่ 1.1 คือ
2'S คอมพลีเมนต = 1'S คอมพลีเมนต + 1 --------1.1
ตัวอยางการหา 2'S คอมพลีเมนต 1002 1'S คอมพลีเมนตของมัน 01102
เมื่อ ทําเปน 2'S คอมพลีเมนต คือบวกดวย 1 จะไดเทากับ 1112 เปนตน
การลบโดยใชวิธีคอมพลีเมนตคือการลดวิธีการลบดวยการใชวิธีการบวก ซึ่งวิธี
นี้จะนิยมใชกนมากในงานทางดานดิจิตอลดวยเหตุผลดังตอไปนี้ คือ
ั
(1) จะใชเพียงแควงจรบวกเลขเทานั้น ซึ่งวงจรบวกเลขจะเปนวงจรที่งายกวา
วงจรการลบเลข
(2) วงจรดิจตอลจะทํางานไดงายกวาในการรับคอมพลีเมนต
ิ
3) การลบเลขฐานสองโดยใช 1'S คอมพลีเมนต
การลบเลขฐานสองโดยใช 1'S คอมพลีเมนต คือ การลบโดยใชผลบวกของ
1'S คอมพลีเมนต ซึ่งแปลงมาจากตัวลบบวกกับตัวตั้งเดิม โดยผลลัพธสุดทายที่ไดจะไดจากการนํา
ตัวทดจากการบวกนี้มาบวกกับผลลัพธของการบวกโดยไมรวมตัวทดนั้น
หลักเกณฑของการลบเลขฐานสองโดยใช 1'S คอมพลีเมนต มีดังนี้คือ
(1) หา 1'S คอมพลีเมนตของตัวลบ โดยการเปลี่ยนเลข 0 เปน 1 และ
เปลี่ยนเลข 1 เปน 0
(2) บวก 1'S คอมพลีเมนตเขากับตัวตั้งของการลบ
(3) กําหนดตัวทดจากการบวกรอบสุดทาย (end-around carry) ซึ่งจะมีคา
เปน 0 หรือ 1
(4) ถาไมมีตัวทดจากการบวกรอบสุดทาย หรือตัวทดเทากับ 0 ก็แสดงวา
ผลลัพธจะมีคาเปนลบและจะตองทําคอมพลีเมนตอีกครังหนึ่ง
้
(5) ถาตัวทดเปน 1 ก็นําตัวทดนั้นมาบวกกับผลบวกนันก็จะไดผลลัพธทันที
้
ตัวอยางที่ 1.10 ใหหาคาของ 1102 ลบดวย 1002 โดยใช 1'S คอมพลีเมนต
- 12. 12 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
วิธีทํา 1'S คอมพลีเมนต 1002 = 0112
110
+
011
ตัวทด 1 001
1
0102
∴ 1102 - 1002 = 102 ***
ตัวอยางที่ 1.11 ใหหาคาผลลบของ 10112 ลบดวย 11102 โดยใช 1'S คอมพลีเมนต
วิธีทํา 1'S คอมพลีเมนตของ 11102 = 00012
1011
+
0001
1100 2
ไมมีตัวทด
ดังนั้นตองทําคอมพลีเมนตอีกครั้งหนึ่ง และใสเครื่องหมายลบไวดานหนา
∴ 1011 2 - 1110 2 = - 00112
4) การลบเลขฐานสองโดยใช 2'S คอมพลีเมนต
ขั้นตอนของการลบเลขฐานสองโดยใช 2'S คอมพลีเมนตทําไดดังนี้ คือ
(1) หาคา 2'S คอมพลีเมนตของตัวลบ
(2) บวกคา 2'S กับตัวตั้ง
(3) ตัดตัวทดตัวสุดทายทิ้ง
(4) ถาตัวทดเปน 1 คําตอบจะกลายเปนบวกและไมตองทําคอมพลีเมนตอีก
(5) ถาตัวทดเปน 0 หรือไมมีตัวทด คําตอบจะกลายเปนลบและจะตองทํา
2'S คอมพลีเมนตอกครั้ง
ี
ตัวอยางที่ 1.12 ใหหาคาผลลบของ 1011 2 ลบดวย 1000 2 โดยใช 2'S คอมพลีเมนต
วิธีทํา 1'S คอมพลีเมนตของตัวลบ = 0111
- 13. 13 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
2'S คอมพลีเมนต = 0111 + 1 = 10002
1011
+
1000
1 0011
ตัดตัวทดทิ้ง
∴ 10112 - 10002 = -00112 ***
ตัวอยางที่ 1.13 ใหหาคาผลลบของ 1100 2 ลบดวย 1101 2 โดยใช 2'S คอมพลีเมนต
วิธีทํา 1'S คอมพลีเมนตของตัวลบ = 0010
2'S คอมพลีเมนต = 0010 + 1 = 0011
1100
+
0011
1111
ไมมีตัวทด
ดังนั้นตองทํา 2'S คอมพลีเมนตอีกครั้งหนึ่งและคําตอบออกมาจะมี
เครื่องหมายลบ
1'S คอมพลีเมนตของ 1111 = 0000
2'S คอมพลีเมนตของ 1111 = 0000 + 1 = 0001
∴ 11002 - 11012 = -00012 ***
5) การคูณกันของเลขฐานสอง
หลักเกณฑการคูณกันของเลขฐานสองอยางงาย ๆ มี 4 ขอ คือ
1. 0 x 0 = 0
2. 0 x 1 = 0
3. 1 x 0 = 0
4. 1 x 1 = 1
ตัวอยางที่ 1.14 ใหหาผลคูณของ 1012 กับ 100 2
วิธีทํา 101
x
100
000
- 14. 14 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
000
101
10100
∴ 1012 x 1002 = 101002 ***
ตัวอยางที่ 1.15 ใหหาผลคูณของ 10012 กับ 1010 2
วิธีทํา 1001
x
1010
0000
1001
0000
1001
1011010
∴ 10012 x 10102 = 10110102 ***
6) การหารกันของเลขฐานสอง
การหารกันของเลขฐานสองจะเหมือนกับเลขฐานสิบ นั่นคือการหารดวย 0 จะไมมี
ความหมายหรือหาคาไมได กฎเกณฑของการหารเลขฐานสองมี 2 ขอ ดังตอไปนี้ คือ
1. 0 ÷ 1 = 0 หรือ 0 = 0
1
2. 1 ÷ 1 = 1 หรือ 1 =1
1
ตัวอยางที่ 1.16 ใหหาคาของ 110002 ÷ 1002
วิธีทํา
110
100 11000
100
100
100
00
7) การเลื่อนตัวเลขฐานสองจากซายไปขวา
- 15. 15 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
การเลื่อนตัวเลขฐานสองไปทางซายหรือทางขวาหนึ่งขันมีคาเทากับการคูณ
้
หรือการหารดวย 2 ในระบบเลขฐานสิบ
เมื่อเลขฐานสอง 110002 (หรือเทากับ 2410) ถูกเลื่อนไปทางซายหนึ่งขั้น และ
กลายเปน 1100002 (หรือเทากับ 4810) ซึ่งมีคาเปน 2 เทาของ 2410 ถาเลื่อนเลขตัวนี้ไปทางขวาหนึ่ง
ขั้นจะได 011002 (หรือเทากับ 1210) ซึ่งมีคานอยลงเปน 2 เทาของ 2410
1.2.6 การแสดงเลขฐานสองเปนสัญญาณทางไฟฟา
ตามที่ทราบมาแลวขางตนวาเลขฐานสองสามารถแสดงออกมาไดเปนเลข 0 และ 1
ซึ่งมันงายตอการคํานวณเทานั้น แตในทางปฏิบติมีปญหาอยูวาทําอยางไรจึงจะใชขอมูลของ
ั
เลขฐานสองในวงจรลอจิกของดิจิตอลคอมพิวเตอรได ซึ่งในลักษณะนี้สัญญาณทางไฟฟา จะถูก
แสดงออกมาเปน 2 ชนิด คือ 0 และ 1 โดยสัญญาณที่ถูกเลือกใหแสดงคาเปนลอจิก 1 และ 0 จะตอง
มีคาตายตัว เพราะวาความเร็วและความแมนยําคือสิ่งสําคัญอันดับแรกของวงจรดิจิตอล
ดังนั้นสัญญาณทางไฟฟาจะตองมีคุณสมบัติดังนี้ คือ
1. ตองใชไดกับวงจรที่ความเร็วอยางเหมาะสม
2. สัญญาณเหลานี้จะตองงายตอการใชงานกับสวนอื่น
3. จะตองยากที่จะทําใหเกิดความสับสนกับสัญญาณอื่น ๆ ได
ในรูปที่ 1.4 จะแสดงสัญญาณหลาย ๆ คูที่มีคุณสมบัติตามตองการ ซึ่งจะเห็นได
วาสัญญาณพัลซซึ่งแทนลอจิก 1 จะไมมการบิดเบี้ยวจนไดลอจิกเปน 0 หรือเปนพัลซลบหรือไม
ี
เปนพัลซได สวนในรูปที่ 1.5 จะแสดงคูของสัญญาณที่ใชแทนเลขฐานสองในลักษณะตาง ๆ กัน
- 16. 16 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
รูปที่ 1.4 คูของสัญญาณทางไฟฟาที่เหมาะที่จะใชงานกับวงจรดิจตอล 1
ิ
รูปที่ 1.5 การแสดงคูของสัญญาณทางไฟฟาเปนดิจิตอล
1.4 ระบบเลขฐานแปด (Octal Number System)
ก. ฐาน
เลขฐานแปดจะมีฐานเปน 8 ซึ่งหมายความวามันจะประกอบดวยเลข 8 ตัวที่
สามารถถูกแทนลงในแตละหลักคือ 0, 1, 2, 3, 4, 5, 6 และ 7 โดยที่เลข 0 ถึง 7 จะมีความหมาย
เหมือนกันกับในระบบเลขฐานสิบ
การนับเลขที่มีคามากกวา 7 ทําไดดังนี้
0 1 2 3 4 5 6 7
10 11 12 13 14 15 16 17
20 21 22 23 24 25 26 27
30 31 32 33 34 35 36 37
ข. คาของตําแหนง
- 17. 17 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
คาของตําแหนงหรือน้ําหนักในแตละหลักจะมีคาตางกันเทากับเลขยกกําลังของ 8
ซึ่งมีลักษณะดังตอไปนี้คือ
84 83 82 81 80 . 8-1 8-2 8-3 8-4
จุดทศนิยมฐานแปด
ตัวอยางที่ 1.17 ใหหาคาของ 4758 ในระบบเลขฐานสิบ
วิธีทํา 4758 = 4x82 + 7x81 + 5x80
= 256 + 56 +5
∴ 4758 = 31710 ***
1.4.1 การเปลี่ยนเลขฐานแปดเปนเลขฐานสิบ
การเปลี่ยนเลขฐานแปดเปนเลขฐานสิบทําไดตามขั้นตอนเชนเดียวกับในหัวขอที่
1.1.3 คือ
1. เขียนเลขฐานแปดโดยเรียงแตละหลักเปนแถวเดียวกัน
2. เขียนน้ําหนักในแตละหลัก
3. นําขั้นตอนที่ 1 คูณกับขั้นตอนที่ 3 ในแตละหลัก
4. นําคาในแตละหลักในขันตอนที่ 3 มาบวกกัน
้
เชน การเปลี่ยนเลข 216.2038 เปนเลขฐานสิบทําไดดังนี้คอ
ื
ขั้นตอนที่ 1 2 1 6 . 2 0 3
ขั้นตอนที่ 282 81 80 8-1 8-2 8-3
ขั้นตอนที่ 3 2x82 81 6 2 0
8
ขั้นตอนที่ 4 2x82 + 81+ 6 + + 0 + 33 = 142.255859410
2
8 8
∴ 216.2038 = 142.255859410
หรือทําไดดังนี้คือ 216.2038 = 2x82 + 1x81 + 6x80 + 2x8-1 + 0x8-2 + 3x8-3
2 3
= 128 + 8 + 6 +8 + 0 + 8 3
- 18. 18 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
∴ 216.2038 = 142.255859410
ตัวอยางที่ 1.18 ใหหาคาของ 168.7158 เปนเลขฐานสิบ
วิธีทํา ขั้นตอนที่ 1 1 6 8 . 7 1 5
ขั้นตอนที่ 2 82 81 80 8-1 8-2 8-3
1
ขั้นตอนที่ 3 64 48 8 7
64
5
3
8 8
ขั้นตอนที่ 4 64 + 48 + 8 + + + = 120.900390610
∴ 168.7158 = 120.900390610 ***
หรือทําไดดังนี้คือ168.7158 = 2x82 + 6x81 + 8x80 + 7x8-1 + 1x8-2 + 5x8-3
= 64 + 48 + 8 +8 +64 5
7 1
+ 3
8
∴ 168.7158 = 120.900390610 ***
1.4.2 การเปลี่ยนเลขฐานสิบเปนเลขฐานแปด
วิธีการเปลี่ยนเลขฐานสิบเปนเลขฐานแปดจะมีลักษณะเหมือน ๆ กับการแปลง
เลขฐานสิบเปนเลขฐานสอง จะแตกตางกันเพียงใช 8 เปนแฟคเตอรในการหารสําหรับเลขฐานสิบ
ที่เปนจํานวนเต็มและจะใช 8 เปนแฟคเตอรในการคูณเมื่อเลขฐานสิบมีคาเปนจุดทศนิยมที่นอยกวา
หนึ่ง
ตัวอยางที่ 1.19 ใหเปลี่ยน 32510 เปนเลขฐานแปด
วิธีทํา 8 ) 325
บน
8 )40 เหลือเศษ 5
5 เหลือเศษ 0 ลาง
∴ 32510 = 5058 ***
ตัวอยางที่ 1.20 ใหเปลี่ยน 0.32510 เปนเลขฐานแปด
วิธีทํา 0.325 x 8 = 2.60 = 0.60 ทด 7
บน
ลาง
- 19. 19 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
0.60 x 8 = 4.80 = 0.80 ทด 4
0.80 x 8 = 6.40 = 0.40 ทด 6
0.4 x 8 = 3.20 = 0.20 ทด 3
∴ 0.32510 ≈ 0.24638 ***
0.096 x 8 = 0.768 = 0.768 ทด 0
∴ 0.87610 ≈ 0.700408 ***
ตัวอยางที่ 1.21 ใหเปลี่ยน 512.62510 เปนเลขฐานแปด
วิธีทํา แยกจํานวนเต็มและทศนิยมแยกกันคํานวณจะไดดังนี้คอ
ื
จํานวนเต็ม 8 )512
บน
8 )64 0
8 )8 0
1 0
ลาง
∴ 51210 = 10008
ทศนิยม 0.625 x 8 = 5.0 = 0.0 ทด 5
∴ 0.625 10 = 0.58
∴ 512.625 10 = 1000.58 ***
1.4.3 การเปลี่ยนเลขฐานสองเปนเลขฐานแปด
การเปลี่ยนเลขฐานสองเปนเลขฐานแปดทีงายที่สุดจะใชวิธีไบนารีไตรเพล็ท
่
(binarytriplet method) คือจัดเลขฐานสองออกมาเปนกลุม กลุมละ 3 บิท โดยเริ่มจากจุดทศนิยม
ถากลุมทาย ๆ จัดไมไดครบ 3 บิทก็เติมศูนยทดานหนาเพิ่ม ตัวอยางเชน ตองการเปลี่ยน
ี่
11010112 เปนเลขฐานแปดจะทําไดดังนี้คอ ื
1101011
จัดเปนกลุมละ 3 บิท
00
- 20. 20 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
เติม 0 เพิ่ม 1 101 011
1 5 3
∴ 11010112 = 1538
ตัวอยางที่ 1.22 ใหเปลี่ยน 10100102 เปนเลขฐานแปด
วิธีทํา 1010010
จัดกลุม 3 บิท
001 010 010
1 2 2
∴ 10100102 = 1228 ***
1.4.4 การเปลี่ยนเลขฐานแปดเปนเลขฐานสอง
ขั้นตอนการเปลี่ยนเลขฐานแปดเปนเลขฐานสองจะมีลักษณะกลับกับการเปลี่ยน
เลขฐานสองเปนเลขฐานแปดคือ แตละหลักของเลขฐานแปดจะถูกแปลงเปนเลขฐานสอง 3 บิท
ตัวอยางเชน การแปลง 5248 เปนเลขฐานสองทําไดดังนีคือ
้
5 2 4
101 010 100
∴ 5248 = 1010101002 ***
ตัวอยางที่ 1.23 ใหเปลี่ยน 64.328 เปนเลขฐานสอง
วิธีทํา 6 4 . 3 2
110 100 011 010
∴ 64.328 = 110100.0110102 ***
1.4.5 ขอดีของระบบเลขฐานแปด
- 21. 21 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
ขอดีที่สําคัญของระบบเลขฐานแปด คือ มีความยาวนอยกวาระบบเลขฐานสอง
อยู 1 เทา ดังนั้นการใชงานของคอมพิวเตอรคงทําไดงายกวาในการรับหรือสงขอมูลอินพุตและ
3
เอาทพุท การพิมพออกทางเครื่องพิมพจะทําไดสะดวกกวาและงายทีจะอานขอมูล นอกจากนัน
่ ้
การเปลี่ยนเลขฐานสองเปนเลขฐานแปดและการเปลี่ยนเลขฐานแปดเปนเลขฐานสองยังทําไดงาย
และรวดเร็ว
1.5 ระบบเลขฐานสิบหก (Hexadecimal Number System)
คุณลักษณะของระบบเลขฐานสิบหกมีดังนี้คือ
1. มีฐานเปน 16 ดวยเหตุนี้จึงใหเลข 16 ตัว คือ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C,
D, E, F
2. คาในแตละตําแหนงหรือในแตละหลักจะมีน้ําหนักเพิ่มขึ้นเทากับเลขยกกําลัง
ของ 16 เมื่อเลขฐานสิบหกอยูทางดานซายของจุดทศนิยม และจะมีคาลดลงตามเลขยกกําลังของ 16
เมื่อมันอยูทางดานขวาของจุดทศนิยม
การใชงานหลัก ๆ ของเลขฐานในระบบนี้คือจะใชงานกับเครื่องจักรที่ทํางานเปนไบต
และมันจะถูกใชสําหรับกําหนดแอดเดรสของเลขฐานสองที่แตกตางกันที่ถูกเก็บในหนวยความจํา
ของคอมพิวเตอร
1.5.1 การแปลงเลขฐานสองเปนเลขฐานสิบหก
วิธีที่งายคือ แยกเลขฐานสองออกเปนกลุม ๆ ละ 4 บิท ก็จะไดเลขฐานสิบหก
ออกมา
ตัวอยางที่ 1.24 ใหเปลี่ยน 101011002 เปนเลขฐานสิบหก
วิธีทํา
1010 1100
A C
∴ 10101100 2 = AC16
1.5.2 การเปลี่ยนเลขฐานสิบหกเปนเลขฐานสอง
ขั้นตอนการเปลี่ยนเลขฐานสิบหกเปนเลขฐานสองจะกลับกับขั้นตอนการเปลี่ยน
เลขฐานสองเปนฐานสิบหก คือ นําแตละหลักของเลขฐานสิบหกมาแตกเปน 4 บิท ตัวอยาง เชน
การเปลี่ยนเลข 4A316 เปนเลขฐานสองทําไดดังนี้คือ
- 22. 22 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
4 A 3
0100 1010 0011
∴ 4A316 = 100101000112 ***
ตัวอยางที่ 1.25 ใหเปลี่ยน 2C616 เปนเลขฐานสอง
วิธีทํา
2 C 6
0010 1100 0110
∴ 2C616 = 10110001102 ***
ตัวอยางที่ 1.26 ใหเปลี่ยน 52E.6D216 เปนเลขฐานสอง
วิธีทํา
5 2 E . 6 D 2
0101 0010 1110 0110 1101 0010
∴ 52E.6D2 16 = 10100101110.0110110100102
***
1.5.3 การเปลี่ยนเลขฐานสิบเปนเลขฐานสิบหก
การเปลี่ยนเลขฐานสิบเปนเลขฐานสิบหกทําได 2 วิธีคือ
1) เปลี่ยนจากเลขฐานสิบเปนเลขฐานสองกอน และเปลี่ยนเลขฐานสองเปน
เลขฐานสิบหก
2) ใชเลข 16 หาร ซึ่งเรียกวิธีนวา เฮ็ก - แด็บเบิล (hex-dabble method)
ี้
ตัวอยางที่ 1.27 ใหเปลี่ยน 9810 เปนเลขฐานสิบหก
วิธีทํา
ใชวิธีที่ 1 2 ) 98
2) 49 0
- 23. 23 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
1) 24 1
2) 12 0
2) 6 0
2) 3 0
1 1
∴ 9810 = 11000102
11000102 = 0110 00102 = 62 16
∴ 9810 = 6216 ***
ใชวิธีที่ 2 16) 98
6 เหลือเศษ 2
∴ 9810 = 6216 ***
1.5.4 การเปลี่ยนเลขฐานสิบหกเปนเลขฐานสิบ
การเปลี่ยนเลขฐานสิบหกทําได 2 วิธี คือ
1) เปลี่ยนเลขฐานสิบหกเปนเลขฐานสองและเปลี่ยนเลขฐานสองเปนเลขฐานสิบ
2) ใหเลขยกกําลังของ 16 ตามคาของแตละตําแหนงหรือน้ําหนักในแตละหลัก
ตัวอยางที่ 1.28 ใหเปลี่ยนเลขฐานสิบดังตอไปนี้เปนเลขฐานสอง เลขฐานแปดและเลขฐานสิบหก
ก) 45
ข) 128
วิธีทํา ก) 45 10
2 ) 45
2 ) 22 1
5 ) 11 0
2) 5 1
2) 2 1
1 0
∴ 45 10 = 1011012 ***
1011012 = 101 1012 = 558
∴ 4510 = 558 ***
- 24. 24 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
1011012 = 0010 11012 = 2D16
∴ 4510 = 2D16
ข) 12810
2) 128
2)64 0
2)32 0
2)16 0
2)8 0
2) 4 0
2)2 0
1 0
∴ 12810 = 100000002
100000002 = 010 000 0002 = 2008
∴ 12810 = 2008 ***
100000002 = 1000 00002 = 8016
∴ 12810 = 8016 ***
แบบทดสอบทายบท
คําชี้แจง ใหนกศึกษาตอบคําถามตอไปนี้ใหถูกตอง
ั
- 25. 25 ดิจิตอลประยุกต 31041003 ระบบเลขฐาน พงษ พร
สัทธา
1. ใหเปลี่ยนเลขฐานสองตอไปนี้เปนเลขฐานสิบ
ก. 11010 ข. 100011
2. ใหเปลี่ยนเลขฐานสิบตอไปนี้เปนเลขฐานสอง
ก. 3.037510 ข. 6.2510
3. ใหบวกเลขฐานสองดังตอไปนี้
ก. 1001 + 1010 ข. 1010 + 101
4. ใหบวกเลขฐานสองของ 1011.012 กับ 1001.112
5. ใหลบเลขฐานสองดังตอไปนี้
ก. 111 – 101 ข. 1000 – 11
6. ใหหาคาผลลัพธของตัวเลขเหลานี้โดยใชเลขฐานสอง
ก. 6410 – 3210 ข. 710 + 1110
7. ใหหาผลลัพธของ 100011 ลบกับ 111010
8. ใหหา 1’S คอมพลีเมนตของเลขฐานสองตอไปนี้
ก. 10101 ข. 1111
9. ใหหา 2’S คอมพลีเมนตของเลขฐานสองตอไปนี้
ก. 1010 ข. 10011.11
10. ใหใช 1’S คอมพลีเมนต และ 2’S คอมพลีเมนตในการลบกันของเลขฐานสองดังตอไปนี้
ก. 100011 – 111010 ข. 1111 – 1011
ค. 110011 – 100101 ง. 10010 – 10111
11. ใหหาผลคูณของเลขฐานสองดังตอไปนี้
ก. 1110 x 111 ข. 1011 x 101
ค. 10101 x 101 ง. 1100 x 101
12. ใหหาผลลัพธของการหารกันของเลขฐานสองดังตอไปนี้
ก. 1100010 ÷111 ข. 1110011 ÷ 101
ค. 11011 ÷ 100 ง. 110110 ÷ 1011