Passer de decimal a hexadecimal sans calculatrice, ni la fonction hex()

Soyez le premier à donner votre avis sur cette source.

Vue 63 512 fois - Téléchargée 914 fois

Description

Bon voila, Pendans que je travaillé un jour, je me suis demander commen on faisai pour passer de l' hexa au decimal. Je me suis casser la tete la dessu pendant 20 minute et j'en est trouvé la solution la plus simple, du moin je pense de passer d'une valeur hexadecimal a une valeur decimal sans calculatrice (Enfin si si il y a des grand nombre c kan meme conseillé) ni meme la fonction HEX()

Source / Exemple :


Transgression d'un nombre hexadécimal vers un nombre en décimal

L'hexadécimal est en base 15, sa veux dire que pour augmenter d'une dizaine, on compte de 15 au maximum alors quand décimal on n'est en base 10 ( on augmente un nombre de 10 au maximum pour augmenter de 1 sa dizaine)

En Hexadécimal on compte comme cela :

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20 etc ........

Hexa		Deximal
1	>	1
2	>	2
3	>	3
4	>	4
5	>	5
6	>	6
7	>	7
8	>	8
9	>	9
A	>	10
B	>	11
C	>	12
D	>	13
E	>	14
F	>	15
10	>	16
etc.?	>	etc?

Pour pouvoir calculer la valeur du nombre en décimal, il faut découper le nombre en unité, et il faut toujours commencé par la plus grande unité
Ex :

Je prends le nombre hexadécimal "F45"

La lettre "F" représente l'unité des centaines, le chiffre 4 l'unité des dizaines et le chiffre 5 l'unité.
On va donc commencer par calculer la valeur des centaines, puis des dizaines, puis pour finir l'unité.

Alors on sait que F en décimal et égale a 15 donc pour calculé la centaine on fait ((16*15)*16)
Si on imaginé qu'en décimal il faille 15 pour aller a la dizaine supérieur, donc 15 en hexadécimal serait égale a 9, comme la je calcul les centaines on multiplie par 16 (Nombre qui serait égale a 10 si ....)

Donc  ((16*15)*16) = 3840, donc on na déjà trouver la valeur de F00, mais comme le nombre des dizaines et l'unité n'est pas égale à 0, donc on continue notre calcul avec les dizaines puis les unités 

Donc (16*4) = 64, nous venons de trouver la valeur des dizaines. Je ne pence pas a avoir à expliquer le calcul, c'est logique
Puis pour l'unité on na pas besoins de calculer

Donc F45 est égale à  3840 +  64 + 5 ce qui donne  3909

Différent Exemple :

3F = ((16 * 3) + 15) = 63

6EA = ((16 * 6) *16)    +    (( 16 *14)+ 10 = 1770

FF6E = ((16 * 15)*16²)   +    ((16 * 15)*16)   +   ((16*6)+14)  = 65390

6FE78 =  ((16 * 6)*163)  + ((16 * 15)*16²) + ((16 * 14)*16) + ((16 * 7)+8)  =  458360

                        

Se qu?il faut retenir :

En faite, sauf pour l?unité, on prends la valeur en décimal de ce que l?on a, on la multiplie par 16, ensuite le résultat trouver  on le multiplie  par 16 puissance X (selon l?unité choisit,  puissance 2 si c?est l?unité des centaines, puissance 3 si c?est l?unité des millièmes etc?)

Conclusion :


- Voila regarder dans le zip, je l'ai fais avec word, j'y est mis des couleurs pour que sa soit plus simple a comprendre
- Je pence que je metré a jour :

- decimal > hexa
- binaire > hexa
- hexa > binaire
- decimal > binaire
- binaire > decimal

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
12 janvier 2010

Mersi bocou pour ton hartikle...
Messages postés
18
Date d'inscription
jeudi 23 novembre 2006
Statut
Membre
Dernière intervention
5 octobre 2011

salut j'ai boucoup admiré la méthode de conversion ou il ya
# 3F ((16 * 3) + 15) 63

# 6EA ((16 * 6) *16) + (( 16 *14)+ 10 1770

# FF6E ((16 * 15)*16²) + ((16 * 15)*16) + ((16*6)+14) 65390

bon pour moi sa marché pour quelque exercices mais pas pour tous par exemple pour les opérations qui ne contiennent pas de A ou de B,C que des chiffres comme
resoudre 22(10)-->(16) = ?
que des chiffres en deux nombres ou a 3 nombres
Messages postés
248
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
15 mars 2007
31
excuser moi, mais le calcul est faux, c'est bel et bien le calcul présenté par kickbar qui est juste...
Messages postés
248
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
15 mars 2007
31
moi je voudrais justedire deux trois truc pour vous siplifier la life à propos de cette question...
il me semble que le calcul deconversion ressemble à ça...:

soit n un entier hexadécimale au hasard...a, b, c et d des entiers déciaux servant à exprimer la position des chiffres...


n n n n 'donc, nous avons ici un nombre "nnnn" ou on à numéroté les chiffres
d c b a 'de gauche à droite..

la méthode est :

n * 15^c + n * 15^b + n * 15^a + n 'en faite, on multiplie un des chiffres par 15
d c b a 'exposant le nombre de chiffres avant ce nombre et
'on additionne cela avec chaque nombre obtenu
'avec cette methode, sauf exception pour le premier
'nombre qui est ajouté avec les autres, inchangé...


je ne suis pas sur d'avoir bien été clair mais bon....

c'est un calcul que j'ai trouvé moi meme, donc je ne suis pas sur qu'il soit correcte mais bon...(un peu de respect tout de meme, j'ai 14 ans! lol)


VOILA!
si non, j'ai créer une petite fonction toute bete pour convertir les hexa en deci...la voici:

function dechex(hexi)
a=1
do until hexi = hex(a)
a=a+1
loop
valeur=a
end function

vous remarquerez qu'une fois la fonction appelé, la valeur décimale est stockée dans une variable nommée valeur... une fois ce code inséré en debut du programme, pour l'utilisé, il faut faire cmme ceci :

dechex(F6) 'appelle de la fonction, ici F6 est
msgbox ("voici la valeur hexadecimal : " &valeur) 'l'hexadeciale convertir...
'la valeur est stocké dans la variable valeur...


VOILA, C'est TOUT POUR AUJOURD'HUI !



i am you were
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
et puis "L'hexadécimal est en base 15" : NON , base SEIZE
En grec hexa six , deca dix ; six + dix = seize

Petite remarque de vocabulaire : la phrase
"ce nombre est en base 10" est toujours vraie
Il ne faut pas écrire "10" mais dix ou seize ou deux ...
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.