Conversion de la base 10 vers la base 16
Résolu
wChris79
-
mother fucker Jones -
mother fucker Jones -
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
- Iphone 16 - Accueil - Téléphones
- Base de registre - Guide
- Passer de windows 7 à windows 10 - Accueil - Mise à jour
- Clé de produit windows 10 gratuit - Guide
- Passer de qwerty a azerty - 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...