Heim >Backend-Entwicklung >Python-Tutorial >Python erklärt die Basiskonvertierung int, bin, oct, hex
Verwandte kostenlose Lernempfehlungen: Python-Video-Tutorial
Prinzip
Sie können die Umkehrdivisionsmethode verwenden, um Dezimalzahlen in n umzuwandeln: Teilen Sie die Dezimalzahl durch n, bis der Quotient 0 ist, und konvertieren Sie sie dann Schreiben Sie den in jedem Schritt erhaltenen Rest rückwärts.
Konvertieren Sie n Basis in Dezimalzahl: (Beispiel: Binär in Dezimalzahl)
101001 => 2^5 + 2^3 + 1 = 32 + 8 + 1 = 41
10111 = > ^4 + 2^2 + 2 + 1 = 16 + 4 + 2 +1 = 23 binär,
Konvertieren Sie beispielsweise dezimal in oktal oder hexadezimal, konvertieren Sie zuerst in binär und dann in oktal oder hexadezimal
10100100010 (Binär) => 522 (Hexadezimal)
Binär =>
522 => 0101 0010 0010 => 1024 + 256 + 32 + 2 = 1280+34 = 1314 (dezimal)
Verwenden Sie die integrierten Funktionen bin, oct und hexadezimal
Ganzzahlen
Beachten Sie, dass nur Ganzzahlen vom Typ String konvertiert werden können. a = 12# 默认数字都是十进制print(a)# 12b = 0b0101010111#以0b开头的是二进制数,默认也是十进制输出print(b)# 343c = 0o33# 以0o开头的是八进制数print(c)# 27d = 0x24# 以0x开头的是十六进制数print(d)# 36
a = 12 # 12是十进制数print(bin(a))# 0b1100 使用bin内置函数可以将数字转换为二进制print(oct(a))# 0o14 使用oct内置函数可以将数字转换为八进制print(hex(a))# 0xc 使用hex内置函数可以将数字转换为十六进制print(type(bin(a)))# <class 'str'>print(bin(0o1111))# 0b1001001001print(bin(0xff))# 0b11111111print(oct(0xff))# 0o377print(hex(0b00011111)) # 0x1f# print(bin(1.12))# print(oct(1.12))# print(hex(1.12))# TypeError: 'float' object cannot be interpreted as an integer
Konvertieren Sie andere Basen in Dezimalzahlen (x, Basis = 10)Basis ist Basis, der Standardwert ist DezimalzahlDie Funktion int wird häufig zum Konvertieren anderer Datentypen in Ganzzahlen verwendet
Hinweis
1. Wenn x eine reine Zahl ist, können Sie keine Parameter an base übergeben, andernfalls wird ein Fehler gemeldet. 2. Wenn x str ist, können Sie Parameter an base übergeben. Wenn Sie es nicht übergeben, ist der Standardwert 10. Wenn Wenn Sie einen beliebigen Parameter an base übergeben, wird er als Basiszahl der Zeichenfolge betrachtet und dann in eine Dezimalzahl umgewandelt. Die Zahl in der Zeichenfolge muss jedoch dem Basissystem entsprechen, andernfalls wird ein Fehler angezeigt berichtet print(int(3.112))# 3# print(int(3.112,8))# TypeError: int() can't convert non-string with explicit baseprint(int('10',2))# 2# print(int('22',2))# ValueError: invalid literal for int() with base 2: '22'print(int('0xaaa',16))# 2730print(int('0b111',2))# 7print(int('0o1237',8))# 671
Python-Tutorial
(Video)
Das obige ist der detaillierte Inhalt vonPython erklärt die Basiskonvertierung int, bin, oct, hex. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!