Niit - Ict Hà Nội » Tin tức » Tin tức công nghệ » Hướng dẫn sử dụng hàm hex trong Python
Hướng dẫn sử dụng hàm hex trong Python

Hướng dẫn sử dụng hàm hex() trong Python

 

Hướng dẫn sử dụng hàm hex() trong Python

 

Hàm hex () trong Python chuyển đổi số nguyên thành số thập lục phân tương ứng ở dạng chuỗi và trả về nó.

Đối số nguyên đầu vào có thể ở bất kỳ cơ sở nào như nhị phân, bát phân, v.v. Python sẽ đảm nhiệm việc chuyển đổi chúng sang định dạng thập lục phân.

 

 

Cú pháp hàm hex() trong Python

 

 

hex(number)
 

 

Trong đó, number là một số nguyên sẽ được chuyển đổi thành giá trị thập lục phân.

 


Hàm này chuyển đổi số thành dạng thập lục phân, và sau đó nó trả về số thập lục phân đó ở định dạng chuỗi.

 

 

Xin lưu ý rằng giá trị trả về luôn bắt đầu bằng '0x' (không có dấu ngoặc kép), điều này chứng tỏ rằng số đó ở định dạng thập lục phân.

 

 

# app.py

print("Nhập một số nguyên: ")

# Lấy input từ người dùng
num = int(input())

# Chuyển đổi số thành hệ thập lục phân
h1 = hex(num)

# In ra số trong hệ thập lục phân
print("Số ", num, " trong hệ thập lục phân là: ", h1)

# Chuyển đổi số thập phân thành thập lục phân
print("\nNhập một số thập phân: ")
num2 = float(input())

# Chuyển đổi số vừa nhập thành hệ thập lục phân
# Đối với số thập phân chúng ta sử dụng float.hex() như sau:
h2 = float.hex(num2)

# In kết quả
print("Số ", num2, " trong hệ thập lục phân là: ", h2)

 

Trong ví dụ trên, chúng ta đã sử dụng hàm input() trong Python để lấy đầu vào từ người dùng.

 

Chúng ta có kết quả như sau:

 

Nhập một số nguyên:
541
Số 541  trong hệ thập lục phân là:  0x21d
    
Nhập một số thập phân:
123.54
Số 123.54  trong hệ thập lục phân là:  0x1.ee28f5c28f5c3p+6

 

 

Hàm hex() không có 0x

 

 

Chúng ta xem xét chương trình sau:

 

 

# app.py

print("Nhập một số nguyên: ")

# Lấy input từ người dùng
num = int(input())

# Chuyển đổi thành số thập lục phân
h1 = hex(num)

# In số thập lục phân
# Chúng ta sử dụng cắt chuỗi
print("Số ", num, " trong hệ thập lục phân là: ", h1[2:])

# Chuyển đổi số thập phân thành thập lục phân
print("\nNhập một số thập phân: ")
num2 = float(input())

# Chuyển đổi số thập phân thành thập lục phân
h2 = float.hex(num2)

# In kết quả
print("Số ", num2, " trong hệ thập lục phân là: ", h2[2:])
 

 

Kết quả nhận được là:

 

Nhập một số nguyên:
541
Số 541  trong hệ thập lục phân là:  21d

Nhập một số thập phân:
123.65
Số 123.65  trong hệ thập lục phân là:  1.ee9999999999ap+6

 

 

Sử dụng hàm hex() với object trong Python

 

 

Chúng ta xem xét ví dụ sử dụng hàm hex() với object trong ví dụ sau:

 

 

# app.py

class AI:
    id = 0

    def __index__(self):
        print('Hàm __index__() được gọi')
        return self.rank


stockfish = AI()
stockfish.rank = 2900

print(hex(stockfish))
 

 

Trong ví dụ trên, chúng ta đã sử dụng phương thức index() để có thể sử dụng nó với hàm hex().

 

Kết quả nhận được là:

 

➜  pyt python3 app.py
Hàm __index__() được gọi
0xb54
➜  pyt
 

 

Cách chuyển đổi chuỗi hex thành int trong Python

 

Nếu không có tiền tố 0x, bạn cần xác định rõ ràng cơ sở. Nếu không, nó không làm việc:

 

 

Xem xét ví dụ sau:

 

 

# app.py

data = int("0xa", 16)
print(data)
 

 

Với tiền tố 0x, Python có thể tự động phân biệt hex và thập phân.



Bạn phải chỉ định 0 làm cơ sở để gọi hành vi suy đoán tiền tố này, bỏ qua tham số thứ hai có nghĩa là giả sử cơ sở - 10.)

 


Nếu bạn muốn chuyển đổi string thành int, hãy chuyển string sang int cùng với cơ sở bạn đang chuyển đổi từ đó. Cả hai chuỗi sẽ đủ để chuyển đổi theo cách này.

 

 

# app.py

hexStrA = "0xffff"
hexStrB = "ffff"

print(int(hexStrA, 16))
print(int(hexStrB, 16))

 

Kết quả:

 

➜  pyt python3 app.py
65535
65535
➜  pyt
 

Trong ví dụ trên, chúng ta đã sử dụng phương thức int() trong Python.

 

Lời kết

 

Python là một ngôn ngữ dễ học nhất trong các ngôn ngữ, nó càng phổ biến hơn khi nắm giữ thế chủ đạo trong lĩnh vực AI, Machine Learning, Data Science... Nếu bạn muốn tham gia lĩnh vực này thì hãy đăng ký Học Python ngay hôm nay thôi.

 

Bạn sẽ nắm giữ tất cả những kiến thức về ngôn ngữ Python trong khóa học này.

 

 

Chúc bạn thành công!