Nom

change_base — transformation d'un nombre d'une base dans une autre base

Séquence d'appel

n = change_base(m,b1,b2)

Paramètres

m

chaîne de caractères ou vecteur d'entiers positifs

b1

entier positif

b2

entier positif

n

chaîne de caractères ou vecteur d'entiers positifs

Description

n=change_base(m,b1,b2) transforme le nombre m écrit en base b1 en le nombre n écrit en base b2. Il y a deux façons de représenter le nombre m en base b1 qui sont décrites ci-dessous.

  • Pour des bases b1 et b2 égales à 2,3,4,5,6,7,8,9 ou 16 on peut représenter le nombre m sous la forme d'une chaîne de caractères dont chaque caractère représente un nombre. Par exemple 210 en base 3 sera représenté par la chaîne de caractères "210". Le résultat n sera aussi donné sous la forme d'une chaîne de caractères. Si la base b1 est égale à 16, on pourra utiliser dans la représentation de m les lettres usuelles A, B, C, D, E et F pour désigner les nombres 10, 11, 12, 13, 14 et 15. Si la base b2 est égale à 16, n pourra aussi contenir ces lettres en retour.

  • Pour des bases quelconques, on représente le nombre m sous la forme d'un vecteur d'entiers positifs. Par exemple 210 en base 3 sera rerpésenté par le vecteur [2,1,0]. Le résultat n sera aussi donné sous la forme d'un vecteur de nombre positifs. Cela permet d'utiliser des bases plus grandes que 9 et différentes de 16. Par exemple le nombre 3*12^2+11*12+10 sera représenté par [3,11,10] en base 12.

Exemples

change_base("111111",2,10)
change_base("255",10,16)
change_base("1FF",16,10)
change_base([3,11,10],12,10)