Khai báo một biến dưới dạng hex trong Python

Jan 12 2021

Tôi có một biến

s=64

Biến này ở dạng hex. Nhưng Python coi nó dưới dạng số thập phân. Làm cách nào để khai báo nó dưới dạng một biến hex?

Tôi biết để khai báo một cái gì đó dưới dạng hex, chúng tôi sử dụng

s=0x64

Nhưng tôi chỉ có

s=64

Làm thế nào tôi có thể đi về điều này?

Trả lời

GalBirka Jan 12 2021 at 16:56

Số 64trong hệ thập lục phân (cơ số 16) là 100. Để đạt được câu trả lời, bạn nên sử dụng kết hợp hex () , int () và str () Nếu bạn bắt đầu bằng s = 64và bạn muốn kết thúc bằng s = 100giá trị thập phân của 0x64, hãy xem xét đoạn mã này:

s = 64
s = int(str(s), 16)

Nếu bạn muốn thứ gì đó khác, hãy làm rõ điều gì và lưu ý rằng bạn có thể tự mình đạt được điều đó bằng một số kết hợp hex (), int () và str ()

1 J_Zar Jan 12 2021 at 16:55

Tôi nghĩ rằng đó là điều gì đó còn thiếu trong lý thuyết hoặc câu hỏi mã của bạn.

Một thứ là giá trị và một thứ khác là sự trình bày (diễn giải) . Vì vậy, giá trị là 100 (thập phân), nhưng nó có thể được xem ( chuyển đổi ) dưới dạng thập phân hoặc thập lục phân (hoặc bất kỳ thứ gì bạn thích):

>>> s=0x64
>>> s
100
>>> hex(s)
'0x64'
>>> h = int(str(0x64), 16)
>>> h
256

Python lưu trữ một số nguyên dưới dạng số thập phân (theo mặc định). Nếu bạn muốn có một số hoạt động như một hệ thập lục phân, bạn nên viết mã lớp của riêng mình và sử dụng các quy trình chuyển đổi mà tôi đã trình bày ở trên.