Hexadezimal in dezimal umwandeln in Python
-
Verwenden Sie die Funktion
int()
, um Hexadezimal in Integer in Python zu konvertieren -
Die Funktion
ast.literal_eval
zum Konvertieren von Hexadezimal in Integer in Python verwenden
In der Welt der Programmierung haben wir es mit Werten zu tun, die verschiedenen Zahlensystemen angehören. Eine hexadezimale Zahl ist ein solches System. Es wird beim Speichern von Speicheradressen, IP-Adressen und mehr verwendet.
Dezimale Werte haben eine Basis von 10, hexadezimale Werte haben eine Basis von 16. In Python wird hexadezimalen Werten das Präfix 0x
vorangestellt.
In diesem Lernprogramm lernen wir, wie man hexadezimale Werte in ihre entsprechenden dezimalen Ganzzahlen umwandelt.
Verwenden Sie die Funktion int()
, um Hexadezimal in Integer in Python zu konvertieren
Die Funktion int()
kann bei der Konvertierung verschiedener Werte in dezimale Ganzzahlen helfen. Sie wandelt die hexadezimale Zeichenkette in den entsprechenden Integer-Wert um. Dazu müssen wir die Zahl und ihre Basis übergeben, um sie in eine Ganzzahl zu konvertieren (denken Sie daran, dass die Basis für hexadezimale Werte 16 ist).
s = "0xffa"
print(int(s, 16))
Ausgabe:
4090
Die Funktion ast.literal_eval
zum Konvertieren von Hexadezimal in Integer in Python verwenden
Die Funktion ast.literal_eval()
kann String-Literale in Python auswerten. Sie kann die Integer-Werte zurückgeben, wenn eine hexadezimale Zeichenkette an sie übergeben wird, wie unten gezeigt:
import ast
s = ast.literal_eval("0xffa")
print(s)
Ausgabe:
4090
Beachten Sie, dass die Funktion eval()
die gleiche Operation auch durchführen kann, aber es wird empfohlen, die Funktion ast.literal_eval()
zu verwenden. Die Funktion eval()
ist sehr langsam und gilt als unsicher und gefährlich in der Anwendung. Die Funktion ast.literal_value()
wertet außerdem nur für einige der Python-Datentypen aus, im Gegensatz zur Funktion eval()
, die für alle auswertet.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn