Tìm kiếm nhanh và chính xác hơn với google tùy chỉnh

Thứ Hai, ngày 27 tháng 2 năm 2012

Chuyển đổi giữa các hệ cơ số

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)
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)
Sắp xếp các số dư từ dưới lên trên ta được: 3295 (demical) = 110011011111 (binary).


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 đó
205 chia 16 = 12.8125 (12 dư 13) tức là D
12 chia 16 = 0.75 (0 dư 12) tức là C
Vậy số đó trong hệ hexa là CDF.


Đố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
Với các hệ khác cũng tương tự, khỏi ví dụ nhé.


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

4 nhận xét:

:) , :D , :)) , =)) , :( , :(( , x-( , :-/ , :|

Đăng nhận xét

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by NewWpThemes | Blogger Theme by Lasantha - Premium Blogger Themes | New Blogger Themes