การเปลี่ยนฐานของระบบเลข
ในกระบวนการทางดิจิตอลนั้น การติดต่อสื่อสารทางตัวเลข บางครั้ง
เมื่อต่างระบบ ค่าตัวเลขก็อาจต่างกัน ระบบหนึ่งอาจใช้เลขฐานสิบ
อีกระบบอาจใช้เลขฐานสองในการทำงานในระบบ
ดังนั้นจึงจำเป็นที่จะต้องมีการเปลี่ยนเลขฐานเพื่อการติดต่อสื่อสารให้ทั้ง
สองระบบเข้าใจกัน ดังนั้นจึงควรรู้วิธีการเปลี่ยนระบบเลขฐาน
เพื่อเป็นความรู้พื้นฐานสำหรับการทำการเข้าใจเกี่ยวกับการทำงานของระบบ
ดิจิตอลในคอมพิวเตอร์
สิ่งสำคัญในการเปลี่ยนฐานนั้น คือ ค่าประจำตำแหน่งของตัวเลขในแต่ละฐาน
ซึ่งจะบอกให้เราทราบว่า
ผลรวมจากค่าประจำตำแหน่งเป็นค่าจริงเท่าไหร่เมื่อเทียบกับค่าเลขในฐานอื่น
ซึ่งค่าประจำตำแหน่งจะเขียนให้อยู่ในเลขยกกำลัง ได้ดังนี้
 |
| ตารางเทียบค่าเลขยกกำลัง |
รูปที่1.ตารางบอกค่าประจำตำแหน่งเลขฐาน ตารางจากตัวอย่างนี้มีประโยชน์เมื่อต้อง
การเปลี่ยนเลขฐานต่างๆเป็นฐานสิบ เช่น หากต้องการเปลี่ยนเลขฐานแปด คือ142
(8) เป็นฐานสิบ สามารถเปลี่ยนโดย
วิธีทำ 142
(8) = 1x(8
2) + 4x(8
1) + 2x(8
0)
= (1x64) + (4x8) + (2x1)
= 98
(10)
และ
ในเลขฐานอื่นๆก็ใช้วิธีเดียวกันในการเปลี่ยนฐานไปเป็นเลขฐานสิบ
โดยใช้สูตรจากตารางรูปแบบของเลขนั้นๆ เช่น การเปลี่ยนเลขฐานสิบหกเป็นฐานสิบ
คือ 356
(16)
วิธีทำ 356
(16) = 3x(16
2) + 5x(16
1) + 6x(16
0)
= 768 + 80 + 6
= 854
(10)
จากข้างต้นการเปลี่ยนฐานนั้นมีวิธีแปลงที่อยู่ในรูปของการบวกของผลคูณ แต่ใน
การเปลี่ยนจากเลขฐานสิบเป็นเลขฐานต่างๆจะต้องใช้วิธีหารดังต่อไปนี้
ทำ
โดยการเอาเลขที่ต้องการเปลี่ยน
หารด้วยเลขฐานที่ต้องการ แล้วเอาผลหาร(ไม่คิดเศษ)
มาหารด้วยเลขฐานที่ต้องการ ไปเรื่อยๆจนได้ 0
เศษที่ได้แต่ละครั้งจะเป็นค่าเลขฐานที่ต้องการ
เช่น ต้องการแปลง 26
(10) เป็นเลขฐานสอง
วิธีทำ 2|
26 เศษ 0 LSB มีนัยสำคัญน้อย
2|
13 เศษ 1 .
2|
6 เศษ 0 .
2|
3 เศษ 1 .
2|
1 เศษ 1 MSB มีนัยสำคัญมาก
0
คำตอบคือ 26
(10) = 11010
(2)
ใน
การแปลงเลขฐานสิบเป็นฐานอื่นๆก็ใช้วิธีเดียวกัน
เช่นถ้าต้องการแปลงเป็นเลขฐานแปด เลขที่นำมาหารให้เปลี่ยนจาก 2 ไปเป็น 8
เท่านั้น ดังตัวอย่าง การแปลง 49
(10)
วิธีทำ 8|
49
8|
6 เศษ 1 LSB มีนัยสำคัญน้อย
0 เศษ 6 MSB มีนัยสำคัญมาก
คำตอบคือ 49
(10) = 61
(8)
ใน
การเปลี่ยนเลขฐานสองเป็นเลขฐานสิบหกและเลขฐานแปด
สามารถแปลงได้โดยการจัดชุดเลขฐานสองออกเป็นชุดๆ
โดยหากเป็นการแปลงไปเป็นเลขฐานแปดให้จัดชุดเป็นขนาด 3 บิต
และหากเป็นการแปลงไปเป็นเลขฐานสิบหกให้จัดชุดเป็นขนาด 4 บิต
เมื่อจัดชุดได้แล้วก็แทนค่าเป็นเลขฐานที่ต้องการ โดยเทียบจากค่าดังต่อไปนี้
การเทียบค่าเลขฐานแปด กับเลขฐานสอง
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
การเทียบค่าเลขฐานสิบหก กับเลขฐานสอง
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111
ตัวอย่าง จงแปลงเลขฐาน 1100001010110
(2) เป็นเลขฐานแปด
วิธีทำ
1100001010110
(2) = 1 100 001 010 110
= 001 100 001 010 110
= 1 4 1 2 6
= 14126
(8)
จงแปลงเลขฐาน 1100001010110
(2) เป็นเลขฐานสิบหก
วิธีทำ
1100001010110
(2) = 1 1000 0101 0110
= 0001 1000 0101 0110
= 1 8 5 6
= 1856
(16)
ส่วนใน
การแปลงค่าเลขฐานแปดและเลขฐานสิบหกเป็นเลขฐานสอง ก็สามารถแปลงได้โดยการทำกลับกัน เช่น แปลงค่าเลขต่อไปนี้ 6543
(8),53F4
(16) เป็นฐานสอง
วิธีทำ 6543
(8) = 6 5 4 3
แทนค่าเป็น 3 บิต = 110 101 100 011
= 110101100011
(2)
วิธีทำ 53F4
(16) = 5 3 F 4
แทนค่าเป็น 4 บิต = 0101 0011 1111 0100
= 101001111110100
(2)
การเปลี่ยนเลขฐานระหว่างเลขฐานสิบหก กับ เลขฐานแปด
การเปลี่ยนระหว่างสองเลขฐานนี้จะต้องแปลงจากเลขฐานเดิมให้เป็นเลขฐานสองเสีย
ก่อน แล้วค่อย แปลงค่าเลขฐานสองนั้นไปเป็นเลขฐานที่ต้องการ