Các bạn nên xem trước bài giới thiệu về các hệ cơ số cơ bản
Nguyên tắc để chuyển đổi giữa các hệ cơ số
Nguyên tắc 1 : chuyển từ hệ cơ số thập phân sang một hệ cơ số bất kỳ
Để chuyển từ hệ cơ số bất kỳ sang thập phân, nguyên tắc là cứ chia số đó lấy phần dư rồi tiếp tục chia phần nguyên lấy phần dư tiếp sau đó xếp thứ tự ngược từ dưới lên.
Lấy số 3295 (trong hệ thập phân) làm ví dụ:
3295 chia 2 = 1647.5 (1647 -> Dư 1)Sắp xếp các số dư từ dưới lên trên ta được: 3295 (demical) = 110011011111 (binary).
1647 (phần nguyên) chia 2 = 823.5 -> Dư 1
823 chia 2 = 411.5 -> Dư 1
411 chia 2 = 205.5 -> Dư 1
205 chia 2 = 102.5 -> Dư 1
102 chia 2 = 51 -> Dư 0
51 chia 2 = 25.5 -> Dư 1
25 chia 2 = 12.5 -> Dư 1
12 chia 2 = 6 -> Dư 0
6 chia 2 = 3 -> Dư 0
3 chia 2 = 1.5 -> Dư 1
1 chia 2 = 0.5 -> Dư 1 (phần nguyên < 1 thì dừng)
Cũng với số này ta chuyển từ 10 sang thập lục phân thì như sau :
3295 chia 16 = 205.9375 (205 dư 15) tức là chữ số F trong hệ hexa đóVậy số đó trong hệ hexa là CDF.
205 chia 16 = 12.8125 (12 dư 13) tức là D
12 chia 16 = 0.75 (0 dư 12) tức là C
Đối với phần lẻ của số thập phân, chuyển sang nhị phân số lẻ được nhân với 2. Phần nguyên của kết quả sẽ là bit nhị phân, phần lẻ của kết quả lại tiếp tục nhân 2 cho đến khi phần lẻ của kết quả bằng 0.
Ví dụ: Chuyển số 0.62510 sang hệ nhị phân
- 0.625 x 2 = 1.25, lấy số 1, phần lẻ 0.25
- 0.25 x 2 = 0.5, lấy số 0, phần lẻ 0.5
- 0.5 x 2 = 1.0, lấy số 1, phần lẻ 0. Kết thúc phép chuyển đổi. , lấy phần dư từ trên xuống
Nguyên tắc 2 : chuyển từ hệ cơ số bất kỳ ra thập phân
Có 1 số nhị phân A như sau:
A=anan-1an-2…a1.a0a-1a-2…a-m
Dấu chấm màu đỏ là dấu phân cách hàng thập phân. Giá trị của A được tính như sau:
A=an2n + an-12n-1 + an-22n-2 +…+a121 + a020 + a-12-1+ a-22-2 +…+ a-m2-m
Ví dụ về số nhị phân: chuyển số 1110110.110101 sang số thập phân
1 | 1 | 1 | 0 | 1 | 1 | 0 | . | 1 | 1 | 0 | 1 | 0 | 1 |
6 | 5 | 4 | 3 | 2 | 1 | 0 | -1 | -2 | -3 | -4 | -5 | -6 |
1110110.110101=1x26 + 1x25 + 1x24 + 0x23 + 1x22 + 1x21 + 0x20 + 1x2-1 +1x2-2 + 0x2-3 + 1x2-4 + 0x2-5 + 1x 2-6
= 64 + 32 + 16 + 0 + 4 + 2 + 0 + 0.5 + 0.25 + 0 + 0.0625 + 0 + 0.015625 = 118.828125
Vậy 1110110.110101 2 = 118.828125 10
Cái này tương đối dễ hiểu hơn cái trên, và không phải làm 2 công đoạn ngược nhau với phần nguyên và phần lẻ.
Nguyên tắc 3 : Chuyển nhanh các hệ cơ số là bội của 2
Có cái bảng các hệ cơ số nhị phân - thập lục - bát phân - thập phân sau đây
0000 | 0 | 0 | 0
0001 | 1 | 1 | 1
0010 | 2 | 2 | 2
0011 | 3 | 3 | 3
0100 | 4 | 4 | 4
0101 | 5 | 5 | 5
0110 | 6 | 6 | 6
0111 | 7 | 7 | 7
1000 | 8 | 10 | 8
1001 | 9 | 11 | 9
1010 | A | 12 | 10
1011 | B | 13 | 11
1100 | C | 14 | 12
1101 | D | 15 | 13
1110 | E | 16 | 14
1111 | F | 17 | 15
Ví dụ chuyển nhị phân sang thập lục phân :
110011011111b -> 1100 1101 1111 -> C D F (bảng thì tra hoặc học thuộc)
Quá trình ngược lại cũng tương tư từ C tra bảng ra 4 bit nhị phân nào.
Ở trên ta có thể áp dụng để chuyển qua lại giữa các giá trị nhị phân <-> thập lục hoặc nhị phân <-> bát phân. Muốn chuyển giữa thập lục và bát phân thì chuyển trung gian qua nhị phân.
Nguyên tắc 4 : Chuyển nhanh các hệ cơ số 10 với hệ nhị phân
Base-10 Decimal Conversion—63204829
Baseexponent
|
107
|
106
|
105
|
104
|
103
|
102
|
101
|
100
|
Column Value
|
6
|
3
|
2
|
0
|
4
|
8
|
2
|
9
|
Decimal Weight
|
10000000
|
1000000
|
100000
|
10000
|
1000
|
100
|
10
|
1
|
Column Weight
|
60000000
|
3000000
|
200000
|
0
|
4000
|
800
|
20
|
9
|
60000000 + 3000000 + 200000 + 0 +
4000 + 800 + 20 + 9 = 63204829.
Base-2 Binary Conversion—1110100
(233)
Baseexponent
|
27
|
26
|
25
|
24
|
23
|
22
|
21
|
20
|
Column Value
|
1
|
1
|
1
|
0
|
1
|
0
|
0
|
1
|
Decimal Weight
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Column Weight
|
128
|
64
|
32
|
0
|
8
|
0
|
0
|
1
|
128 + 64 + 32 + 0 + 8 + 0 + 0 + 1 =
233
9 nhận xét:
thank
Cám ơn anh. Chuyển đổi dễ và nhanh khi đọc xong bài này.
tks u!
cảm ơn anh!
cảm ơn :3
cảm ơn a ạ!
thế còn 0,0100 thì chuyển sao ạ
cảm ơn anh ạ =))
cho e hỏi 47,2 hệ 10 chuyển sang hệ 2 thì chuyển sao ạ
Đăng nhận xét