Mendeklarasikan variabel sebagai hex dengan Python
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
Angka 64
dalam hex (basis 16) adalah 100
. Untuk mendapatkan jawaban Anda, Anda harus menggunakan kombinasi hex () , int () dan str () Jika Anda mulai dengan s = 64
dan Anda ingin berakhir dengan s = 100
nilai 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 ()
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.