Maison >développement back-end >Tutoriel Python >Python explique la conversion de base int, bin, oct, hex

Python explique la conversion de base int, bin, oct, hex

coldplay.xixi
coldplay.xixiavant
2021-01-14 09:44:502927parcourir

Python explique la conversion de base int, bin, oct, hex

Recommandations d'apprentissage gratuites associées : Tutoriel vidéo Python

Principe

La méthode de division inverse peut être utilisée pour convertir un nombre décimal en base n : divisez le nombre décimal par n jusqu'à ce que le quotient soit 0, puis écrivez le reste obtenu à chaque étape à l'envers
Convertissez la base n en décimal : (Exemple. : Binaire à décimal)
101001 => 2^5 + 2^3 + 1 = 32 + 8 + 1 = 41
10111 => 2^4 + 2^2 + 2 + 1 = 16 + 4 + 2 +1 = 23
Par analogie, convertir la base n en décimal, c'est changer la base 2 en base n


Il existe d'autres méthodes, comme l'utilisation du binaire intermédiaire,
Pour Par exemple, pour convertir un nombre décimal en octal ou hexadécimal, convertissez d'abord en binaire, puis en octal ou hexadécimal
Décimal => Binaire => Hexadécimal
520 = > > 208 (Hex)
1314 => 10100100010 (Binaire) => 2442 (Octal) => Hexadécimal=> Binaire=> Décimal

522 => 0101 0010 0010 => 1024 + 256 + 32 + 2 = 1280+34 = 1314 (décimal)


Convertir le décimal en autres nombres de base

Utilisez les fonctions intégrées bin, oct, hex pour convertir Entier est converti en binaire, octal et hexadécimal correspondant

Notez que seulement ; les entiers peuvent être convertis et les données renvoyées sont un type de chaîne

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

Convertir d'autres bases en décimales

Utilisation de la fonction int int( x, base=10) base est base, la valeur par défaut est décimale La fonction int est couramment utilisée pour convertir d'autres types de données Convertir en entier

Remarque
 :
Il existe deux types de x : str / int
1. Si x est un nombre pur, vous ne pouvez pas transmettre de paramètres à la base, sinon une erreur sera signalée 2. Si x est str, vous pouvez transmettre des paramètres à la base. Sinon. transmis, la valeur par défaut est 10. Quels que soient les paramètres transmis à la base, la chaîne sera considérée comme un nombre décimal, puis convertie en nombre décimal, mais la chaîne Le nombre dans doit être conforme à la spécification de base, sinon une erreur sera signalé

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


Recommandations d'apprentissage gratuites associées :
Tutoriel Python (vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer