Mendeklarasikan variabel sebagai hex dengan Python

Jan 12 2021

Saya memiliki variabel

s=64

Variabel ini dalam hex. Tapi Python menganggapnya sebagai desimal. Bagaimana cara mendeklarasikannya sebagai variabel hex?

Saya tahu untuk menyatakan sesuatu sebagai hex, kami gunakan

s=0x64

Tapi saya hanya punya

s=64

Bagaimana saya bisa melakukan ini?

Jawaban

GalBirka Jan 12 2021 at 16:56

Angka 64dalam hex (basis 16) adalah 100. Untuk mendapatkan jawaban Anda, Anda harus menggunakan kombinasi hex () , int () dan str () Jika Anda mulai dengan s = 64dan Anda ingin berakhir dengan s = 100nilai desimal 0x64, pertimbangkan kode ini:

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

Jika Anda menginginkan sesuatu yang lain, harap jelaskan apa, dan perhatikan bahwa Anda dapat mencoba mencapainya sendiri dengan beberapa kombinasi hex (), int () dan str ()

1 J_Zar Jan 12 2021 at 16:55

Saya pikir ada sesuatu yang hilang dalam teori atau pertanyaan kode Anda.

Satu hal adalah nilai dan satu sama lain adalah penyajian (interpretasi) . Jadi nilainya 100 (desimal), tetapi dapat dilihat ( dikonversi ) sebagai desimal atau heksadesimal (atau apa pun yang Anda suka):

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

Python menyimpan bilangan bulat sebagai desimal (secara default). Jika Anda ingin memiliki angka yang bertindak sebagai heksadesimal, Anda harus membuat kode kelas Anda sendiri dan menggunakan rutinitas konversi yang saya tunjukkan di atas.