Cấp bậc tác giả:

JAVA

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

Được viết bởi webmaster ngày 26/11/2014 lúc 10:20 AM
Việc chuyển đổi hệ cơ số có thể dùng tool cho nhanh, nhưng nếu không có chúng trong tay thì sao
  • 0
  • 71888

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

1. DECIMAL -> BINARY (thập phân sang nhị phân)
2. DECIMAL -> HEX (thập phân sang hex)
3. HEX -> BINARY (hex sang nhị phân)
4. BINARY -> HEX (nhị phân sang hex)
5. BINARY -> DECIMAL(nhị phân sang thập phân)
6. HEX -> DECIMAL (hex sang thập phân)
Điều đầu tiên thuộc cái bảng này:
0000 | 0 | 0
0001 | 1 | 1
0010 | 2 | 2
0011 | 3 | 3
0100 | 4 | 4
0101 | 5 | 5
0110 | 6 | 6
0111 | 7 | 7
1000 | 8 | 8
1001 | 9 | 9
1010 | A | 10
1011 | B | 11
1100 | C | 12
1101 | D | 13
1110 | E | 14
1111 | F | 15
1. DECIMAL -> BINARY (Chuyển từ thập phân sang nhị phân)
Lấy số 3295 (trong hệ thập phân) làm ví dụ:
3295 chia 2 = 1647.5 -> Dư 1
1647 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
Sắp xếp các số dư từ dưới lên trên các pác sẽ được:
3295 (demical) = 110011011111 (binary)
=> Đầu tiên chia số cần chuyển đổi cho 2 và lấy số dư, sau đó cứ tiếp tục lấy kết quả của phép chia trên chia tiếp cho 2 (không kèm số dư) cho đến khi kết quả bằng zero.
2. DECIMAL -> HEX (Chuyển từ thập phân sang hex)
Tiếp tục dùng số 3295 làm zí dụ, như trên ta có 3295 (demical) = 110011011111 (binary). Chia 110011011111 làm từng chuỗi gồm 4 số, kết hợp với bảng ở trên ta sẽ được:
110011011111b -> 1100 1101 1111 -> C D F
3295 (decimal) = 110011011111 (binary) = 0CDF (hex)
3. HEX -> BINARY (Chuyển từ hex sang nhị phân)
Lấy chuỗi DEAD làm zí dụ. Sử dụng bảng trên ta sẽ có:
D = 1101
E = 1110
A = 1010
D = 1101
DEAD (hex) = 1101 1110 1010 1101 (binary)
4. BINARY -> HEX (Chuyển từ nhị phân sang hex)
Lấy số 1010110111101111 làm ví dụ, chia thành các chuỗi gồm 4 số:
1010110111101111 -> 1010 1101 1110 1111
Sử dụng bảng trên ta sẽ có được:
1010 = A
1101 = D
1110 = E
1111 = F
1010110111101111 (binary) = 0ADEF (hex)
5. BINARY -> DECIMAL(Chuyển từ nhị phân sang thập phân)
Lấy số 1101 làm ví dụ:
1*(2^3) + 1*(2^2) + 0*(2^1) + 1*(2^0) = 13
Số 1 thứ nhất
1 * (2^3)
Số 1 thứ hai
1 * (2^2)
Số 0 thứ ba
0 * (2^1)
Số 1 thứ tư
1*(2^0)
1101 (binary) = 13 (decimal)
=> Số thứ nhất nhân với số 2 với số mũ cao nhất cộng cho số thứ hai nhân với số 2 với số mũ giảm dần cứ thế….
6. HEX -> DECIMAL (hex sang thập phân)
Để chuyển đổi từ hex sang decimal đầu tiên ta chuyển hex sang binary, sau đó lại từ binary ta chuyển về decimal.
Lấy số FEED làm ví dụ:
Từ hex sang binary:
FEED (hex) = 1111 1110 1110 1101 (binary)
Từ binary sang decimal:
1*(2^15) + 1*(2^14) + 1*(2^13) + 1*(2^12) + 1*(2^11) + 1*(2^10) +1*(2^9) + 0*(2^8) + 1*(2^7) +1*(2^6) +1*(2^5) + 0*(2^4) +1*(2^3) +1*(2^2) + 0*(2^1) + 1*(2^0) = 65261
Như vậy:
FEED (hex) = 1111111011101101 (binary) = 65261 (decimal)

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML