Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python chuyển đổi chuỗi hex sang số thập phân


Trong bài viết này, chúng ta sẽ tìm hiểu giải pháp cho bài toán sau:

Đề bài – Cho một chuỗi hệ thập lục phân (hexadecimal), cần chuyển đổi nó sang dạng thập phân tương đương.

Chúng ta có hai phương pháp giải quyết:

  • Phương pháp Brute-force (thử tất cả)
  • Sử dụng module tích hợp sẵn

Phương pháp Brute-force

Ở đây chúng ta sử dụng hàm chuyển kiểu tường minh là int(). Hàm này nhận hai đối số: chuỗi hex và cơ số (16). Hàm này chuyển đổi chuỗi hex thành số nguyên thập phân tương đương, sau đó có thể chuyển ngược lại sang chuỗi nếu cần.

Ví dụ

# chuỗi đầu vào
string = 'F'
# chuyển đổi chuỗi hex sang thập phân
res = int(string, 16)
# in kết quả
print("Số thập phân tương ứng với chuỗi hex là: " + str(res))

Kết quả

Số thập phân tương ứng với chuỗi hex là: 15

Sử dụng module ast tích hợp sẵn

Ở đây ta dùng hàm literal_eval từ module ast, cho phép dự đoán cơ số của chuỗi hex đã cho và chuyển sang thập phân. Đây là khái niệm đánh giá literal (giá trị chữ).

Ví dụ

# sử dụng module tích hợp literal_eval
from ast import literal_eval
# khởi tạo chuỗi
test_string = '0xF'
# chuyển đổi chuỗi hex sang thập phân
res = literal_eval(test_string)
# in kết quả
print("Số thập phân của chuỗi hex là: " + str(res))

Kết quả

Số thập phân của chuỗi hex là: 15

Kết luận

Trong bài này, chúng ta đã học cách chuyển đổi chuỗi hex sang dạng thập phân tương đương bằng Python.