Conversion de la base 10 vers la base 16

Résolu/Fermé
wChris79 - 10 sept. 2011 à 15:18
 mother fucker Jones - 11 mai 2014 à 16:52
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



A voir également:

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
7
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
27 janv. 2012 à 15:27
Juste une précision : ce n'est pas parce que X a N chiffres après la virgule qu'on multiple X par 16^N, mais plutôt parce que X*16^N est entier lorsque X*16^(N-1) ne l'était pas.
Si je prends 0.125 par exemple, il y a 3 chiffres après la virgule, mais multiplier 1 fois par 16 suffit.
0
0.125 a 3 chiffre après la virgule donc je multiple par 16^3 ce qui donne 512. donc pas de problème, au moins on est sur que ce sera bon sans essayer toutes les puissances de 16 mais c'est vrai que dans ce cas là ca revien au même
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
27 janv. 2012 à 20:07
Lorsqu'on fait de l'informatique on essaye quand même de limiter au maximum les calculs.
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...
0
mother fucker Jones
11 mai 2014 à 16:52
merci ton commentaire m'a été très utile
0