Deklarowanie zmiennej jako szesnastkowej w Pythonie
Mam zmienną
s=64
Ta zmienna jest zapisana szesnastkowo. Ale Python traktuje to jako liczbę dziesiętną. Jak zadeklarować to jako zmienną szesnastkową?
Wiem, aby zadeklarować coś jako hex, używamy
s=0x64
Ale mam tylko
s=64
Jak mam się do tego zabrać?
Odpowiedzi
Liczba 64
szesnastkowa (podstawa 16) to 100
. Aby uzyskać odpowiedź, powinieneś użyć kombinacji hex () , int () i str () Jeśli zaczynasz od s = 64
i chcesz na końcu, na s = 100
którym jest wartość dziesiętna 0x64
, rozważ następujący kod:
s = 64
s = int(str(s), 16)
Jeśli chcesz czegoś innego, wyjaśnij, co i pamiętaj, że możesz spróbować to osiągnąć samodzielnie, używając kombinacji hex (), int () i str ()
Myślę, że czegoś brakuje w twojej teorii kodu lub pytaniu.
Jedna rzecz to wartość, a druga to prezentacja (interpretacja) . Więc wartość wynosi 100 (dziesiętnie), ale można ją zobaczyć ( przekonwertować ) jako dziesiętną lub szesnastkową (lub cokolwiek chcesz):
>>> s=0x64
>>> s
100
>>> hex(s)
'0x64'
>>> h = int(str(0x64), 16)
>>> h
256
Python przechowuje liczbę całkowitą jako ułamek dziesiętny (domyślnie). Jeśli chcesz mieć liczbę działającą jako szesnastkowa, powinieneś zakodować własną klasę i użyć procedur konwersji, które pokazałem powyżej.