Heim  >  Artikel  >  Backend-Entwicklung  >  Python erklärt die Basiskonvertierung int, bin, oct, hex

Python erklärt die Basiskonvertierung int, bin, oct, hex

coldplay.xixi
coldplay.xixinach vorne
2021-01-14 09:44:502874Durchsuche

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

Dezimal => Binär => Hexadezimal
520 => 1000001000 (512+8) => > 208 (Hex)

10100100010 (Binär) => 522 (Hexadezimal)
Binär =>
522 => 0101 0010 0010 => 1024 + 256 + 32 + 2 = 1280+34 = 1314 (dezimal)

Dezimal zu anderen Dezimalzahlen


Verwenden Sie die integrierten Funktionen bin, oct und hexadezimal
Ganzzahlen

in entsprechende Binär-, Oktal- und Hexadezimalsysteme konvertieren

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 &#39;str&#39;>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

:
Es gibt zwei Arten von x: str / int

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

Verwandte kostenlose Lernempfehlungen:

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen