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
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înea = 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
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
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!