Nội dung chính
Bài toán
1. Chuyển đổi số nguyên N từ hệ cơ số 10 sang hệ cơ số B bất kỳ.
2. Chuyển đổi hệ cơ số B sang hệ cơ số 10 bất kỳ.
Cách chuyển đổi hệ cơ số
- Chuyển đối hệ cơ số 10 sang hệ cơ số B
- Chuyển đối hệ cơ số B sang hệ cơ số 10
1. Chuyển đối hệ cơ số 10 sang hệ cơ số B
Cách chuyển đổi số nguyên N từ hệ cơ số 10 sang hệ cơ số 2, trong ảnh dưới đây là ví dụ chuyển số 15 và số 6 sang hệ cơ số 2:
- Gán m = 15.
- Put phần dư m chia cho 2 (m % 2) vào stack.
- Gán m = m / 2.
- Nếu m > 0 quay lại bước 2.
- Đảo ngược lại stack ta được số cần tính.
Các hệ số khác chuyển đổi tương tự.
Ví dụ chuyển đối hệ cơ số 10 sang hệ cơ số B
Giả sử hệ cơ số cần chuyển là 2 <= B <= 16. Số đại điện cho hệ cơ số B > 10 là A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.
Chúng ta tạo ra một chương trình như sau để chuyển đổi hệ cơ số trong python:
""" # Chuyển đổi số nguyên n sang hệ cơ số b # # @author viettuts.vn # @param n: so nguyen # @param b: he co so # @return he co so b """ def convert_number(n, b): if (n < 0 or b < 2 or b > 16): return ""; sb = ""; m = 0; remainder = n; while (remainder > 0): if (b > 10): m = remainder % b; if (m >= 10): sb = sb + str(chr(55 + m)); else: sb = sb + str(m); else: sb = sb + str(remainder % b); remainder = int(remainder / b); return "".join(reversed(sb)); # đảo ngược chuỗi sb n = int(input("Nhập số nguyên dương n = ")); print("Hệ cơ số 2 của số nguyên ", n, "là:", convert_number(n, 2)) print("Hệ cơ số 16 của số nguyên ", n, "là:", convert_number(n, 16))
Kết quả:
Nhập số nguyên dương n = 15 Hệ cơ số 2 của số nguyên 15 là: 1111 Hệ cơ số 16 của số nguyên 15 là: F
2. Chuyển đối hệ cơ số B sang hệ cơ số 10
Trong ảnh dưới đây là ví dụ về chuyển đổi hệ cơ số 2 sang hệ cơ số 10.
Các hệ cơ số khác tương tự.