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
Libérer: 2021-01-14 09:44:50
avant
2891 Les gens l'ont consulté

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
Copier après la connexion
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
Copier après la connexion

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
Copier après la connexion


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!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal