Conversion de la base 10 vers la base 16
Résolu
wChris79
-
mother fucker Jones -
mother fucker Jones -
Bonjour,
Comment convertir par exemple le nombre (27,189520) de labase 10 vers la base 16.
Merci de me donner la méthode, surtout pour la conversion de la partie fractionnaire ...
L'algorithme je vais pouvoir le faire une fois la méthode comprise.
En vous remerciant d'avance pour votre aide ...
wChris79
Comment convertir par exemple le nombre (27,189520) de labase 10 vers la base 16.
Merci de me donner la méthode, surtout pour la conversion de la partie fractionnaire ...
L'algorithme je vais pouvoir le faire une fois la méthode comprise.
En vous remerciant d'avance pour votre aide ...
wChris79
A voir également:
- Passer de la base 10 à la base 16
- Base 10 vers base 16 - Meilleures réponses
- Comment passer de la base 16 à la base 2 - Meilleures réponses
- Base de registre - Guide
- Passer de windows 7 à windows 10 - Accueil - Mise à jour
- Clé d'activation windows 10 - Guide
- Passer de qwerty a azerty - Guide
- Passer de windows 10 à windows 11 gratuitement - Guide
5 réponses
Salut pidad, pour etre plus clair
Pour passer de la base dix à une autre on fait une division entière par l'autre base :
27: 16 on trouve 1 et il reste 11 --> donc B est le chiffre de rang 0
1: 16 on trouve 0 et reste 1 --> donc 1 est le chiffre de rang 1
on trouve donc 1B
27,189520 a 6 chiffre après la virgule donc je multiple 27.189520 par 16^6 et je trouve 456 164 450
456 164 450 : 16 on trouve 28 510 278 et reste 2 --> donc 2 est le chiffre de rang 0
28 510 278 : 16 on trouve 1 781 892 et reste 6 --> donc 6 est le chiffre de rang 2
1 781 892 : 16 on trouve 111 368 et reste 4 --> donc 4 est le chiffre de rang 3
111 368 : 16 on trouve 6 960 et reste 8 --> donc 8 est le chiffre de rang 4
6 960 : 16 on trouve 435 et reste 0 --> donc 0 est le chiffre de rang 5
435 : 16 on trouve 27 et reste 3 --> donc 3 est le chiffre de rang 6
27 : 16 on trouve 1 et reste 11 --> donc B est le chiffre de rang 7
1 : 16 on trouve 0 et reste 1 --> donc 1 est le chiffre de rang 8
ce qui donne 1B308462 et je décale la virgule de 6 cases ce qui donne 1B,308462
voila
Pour passer de la base dix à une autre on fait une division entière par l'autre base :
27: 16 on trouve 1 et il reste 11 --> donc B est le chiffre de rang 0
1: 16 on trouve 0 et reste 1 --> donc 1 est le chiffre de rang 1
on trouve donc 1B
27,189520 a 6 chiffre après la virgule donc je multiple 27.189520 par 16^6 et je trouve 456 164 450
456 164 450 : 16 on trouve 28 510 278 et reste 2 --> donc 2 est le chiffre de rang 0
28 510 278 : 16 on trouve 1 781 892 et reste 6 --> donc 6 est le chiffre de rang 2
1 781 892 : 16 on trouve 111 368 et reste 4 --> donc 4 est le chiffre de rang 3
111 368 : 16 on trouve 6 960 et reste 8 --> donc 8 est le chiffre de rang 4
6 960 : 16 on trouve 435 et reste 0 --> donc 0 est le chiffre de rang 5
435 : 16 on trouve 27 et reste 3 --> donc 3 est le chiffre de rang 6
27 : 16 on trouve 1 et reste 11 --> donc B est le chiffre de rang 7
1 : 16 on trouve 0 et reste 1 --> donc 1 est le chiffre de rang 8
ce qui donne 1B308462 et je décale la virgule de 6 cases ce qui donne 1B,308462
voila
Remarque : il y a certaines valeurs avec un nombre fini de chiffrs après la virgule en base 10 qui ont un nombre infini de chiffres en base 16 !
Exemple simple : 0.1 --> 0.19999999999...
Exemple simple : 0.1 --> 0.19999999999...
La partie fractionnaire c'est le même principe que la partie entière :
Une manière d'arriver au résultat est de multiplier par une puissance de 16 pour enlever la partie fractionnaire en base 10, et de la remettre une fois la conversion effectuée :
La confiance n'exclut pas le contrôle
27,18952 = 2.10^1 + 7.10^0 + 1.10^(-1) + 8.10^(-2) + 9.10^(-3) + 5.10^(-4) + 2.10^(-5) = 1.16^1 + 11.16^0 + 3.16^(-1) + 0.16^(-2) + 8.16^(-3) + 4.16^(-4) + 6.16^(-5) + 2.16^(-6)
Une manière d'arriver au résultat est de multiplier par une puissance de 16 pour enlever la partie fractionnaire en base 10, et de la remettre une fois la conversion effectuée :
27.18952 = 27.18952 * 16^6 * 16^(-6) = 456 164 450 * 16^(-6)Si tu passes 456 164 450 en base 16 --> 1B308462, tu n'as alors plus qu'à décaler la virgule de 6 crans d'où 27.18952 --> 1B,308462
La confiance n'exclut pas le contrôle
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si je prends 0.125 par exemple, il y a 3 chiffres après la virgule, mais multiplier 1 fois par 16 suffit.
Exemple : 0.00390625. Avec 8 chiffres on multiplie par 16^8 et on fait la conversion de 16 777 216 alors qu'en multipliant par 16^2 seulement on aurait juste à faire la conversion de 1.
Effectivement cela revient mathématiquement au même, mais le premier donne 0.01000000 et le deuxième 0.01, faire des calculs supplémentaires pour avoir plein de 0 inutiles c'est stupide...