Outil de changement de base / conversion / écriture de nombres en base N. En arithmétique, une base désigne la valeur des puissances successives intervenant dans l'écriture d'un nombre.
Conversion en Base N - dCode
Catégorie(s) : Arithmétique
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !
La base est le nombre de chiffres distinct nécessaires pour écrire les nombres (dans un système de numération positionnelle).
Exemple : En base décimale, la base utilisée par défaut pour écrire les nombres, 10 chiffres sont utilisés : de 0 à 9, donc c'est une écriture en base 10.
Un nombre $ N $ dans une base $ b $ peut s'écrire sous la forme d'une addition de puissances de cette base $ n $.
Exemple : Le nombre $ N = 123_{(10)} $ (base 10) vérifie l'égalité $$ N = 789 = 7 \times 100 + 8 \times 10 + 9 \times 1 = 7 \times 10^2 + 8 \times 10^1 + 9 \times 10^0 $$
$ N= $ | $ c2 $ | $ c1 $ | $ c0 $ |
$ 789 $ | $ 7 $ | $ 8 $ | $ 9 $ |
Soit un nombre $ N $ composé de $ n $ chiffres $ { c_{n-1}, c_{n-2}, \cdots, c_2, c_1, c_0 } $ en base $ b $, alors peut l'écrire comme un polynôme avec les chiffres comme coefficients et la base b comme inconnue :
$$ N_{(b)} = \{ c_{n-1}, \cdots, c_1, c_0 \}_{(b)} = c_{n-1} \times b^{n-1} + \cdots + c_1 \times b^1 + c_0 \times b^0 $$
Pour calculer un changement de base, utiliser la base $ 10 $ comme référence, ou comme intermédiaire.
Exemple : Pour changer de la base $ 3 $ à la base $ 7 $, calculer de la base $ 3 $ à la base $ 10 $, puis de la base $ 10 $ à la base $ 7 $.
Un nombre en base 10 s'écrit avec les chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9. Pour les autres bases, il est d'usage d'utiliser des lettres, et plus précisément les caractères suivants : 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ (Attention aux Majuscules et minuscules à partir de la base 37) afin d'écrire des nombres jusqu'en base 62.
Utiliser l'algorithme suivant pour convertir/encoder de la base $ 10 $ à une base $ n $ :
$$ q_0=n; i=0; \mbox{ tant que } q_i > 0 \mbox{ faire } (r_i = q_i \mbox{ mod } b; q_{i+1}= q_i \mbox{ div } b ; i = i+1 ) $$
Le nombre converti est composé des chiffres $ r_{i=0 \cdots n-1} $ obtenus (avec $ r_0 $ le chiffre des unités).
Exemple : $ N = 123_{(10)} $ (base 10) is converted to base $ 7 $ :
$$ q_0 = 123 \\ r_0 = 123 \mbox{ mod } 7 = 4 \;\;\; q_1 = 123 \mbox{ div } 7 = 17 \\ r_1 = 17 \mbox{ mod } 7 = 3 \;\;\; q_1 = 17 \mbox{ div } 7 = 2 \\ r_2 = 2 \mbox{ mod } 7 = 2 \;\;\; q_2 = 2 \mbox{ div } 7 = 0 \\ 123_{(10)} = 234_{(7)} $$
Pour convertir/décoder un nombre $ N_1 $ écrit en base $ b $ en un nombre $ N_2 $ écrit en base $ 10 $, utiliser le fait que le nombre $ N_1 $ est composé de $ n $ chiffres $ { c_{n-1}, c_{n-2}, \cdots, c_1, c_0 } $ et utiliser l'algorithme suivant :
$$ N_2 = c_{n-1} ; \mbox{ for } ( i=n-2 \mbox{ to } 1 ) \mbox{ do } N_2=N_2 \times b+c_i $$
Le nombre $ N_2 $ obtenu est alors écrit en base $ 10 $.
L'algorithme est équivalent à faire le calcul $$ (( c_{n-1} \times b + c_{n-2} ) \times b + c_{n-3} ) \cdots ) \times b + c_0 $$
Exemple : Soit le nombre $ 123_{(7)} $ (en base $ 7 $), appliquer l'algorithme de conversion :
$$ 123 = \{1,2,3\} \\ N = 1 \\ N = 1*7+2 = 9 \\ N = 9*7+3 = 66 \\ N = 123_{(7)} = 66_{(10)} $$
Donc $ 123_{(7)} $ est égal à $ 66_{(10)} $ en base $ 10 $.
— base 2 (système binaire - base2) utilisée en informatique
— base 3 (système trinaire ou ternaire - base3)
— base 8 (système octal - base8)
— base 9 (système nonaire - base9)
— base 10 (système décimal - base10)
— base 12 (système duodécimal - base12), pour compter les heures ou les mois
— base 16 (système hexadécimal - base16) utilisée en informatique et les octets
— base 20 (système vigésimal - base20) utilisée par la numération Maya (et Aztèque)
— base 26 (système alphabétique - base26)
— base 27 (système alphabétique + caractère spécial - base27)
— base 36 (système alphanumérique - base36)
— base 37 (système alphanumérique + caractère spécial - base37)
— base 60 (système sexagésimal - base60) utilisée dans la mesure des minutes et des secondes et par les Sumériens et la numération babylonienne.
— base 62 (système alphanumérique complet - base62)
Toutes les bases peuvent être utilisées pour du codage informatique ou tout autre problème mathématique.
Exemple : Encoder et décoder la base64 est courant sur Internet.
dCode se réserve la propriété du code source pour "Conversion en Base N". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Conversion en Base N", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Conversion en Base N" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou les données, en téléchargement, script, ou les accès API à "Conversion en Base N" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.
Le copier-coller de la page "Conversion en Base N" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous créditez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
Conversion en Base N sur dCode.fr [site web en ligne], consulté le 21/11/2024,