PASSER DE DECIMAL A HEXADECIMAL SANS CALCULATRICE, NI LA FONCTION HEX()

ptitkaneda Messages postés 14 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 3 décembre 2004 - 12 nov. 2004 à 15:57
cs_sm0puim Messages postés 1 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 12 janvier 2010 - 12 janv. 2010 à 18:30
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27520-passer-de-decimal-a-hexadecimal-sans-calculatrice-ni-la-fonction-hex

cs_sm0puim Messages postés 1 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 12 janvier 2010
12 janv. 2010 à 18:30
Mersi bocou pour ton hartikle...
cs_curieux007 Messages postés 18 Date d'inscription jeudi 23 novembre 2006 Statut Membre Dernière intervention 5 octobre 2011
23 nov. 2006 à 23:50
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
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 33
16 oct. 2005 à 14:59
excuser moi, mais le calcul est faux, c'est bel et bien le calcul présenté par kickbar qui est juste...
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 33
13 oct. 2005 à 18:50
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
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
13 nov. 2004 à 00:14
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 ...
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
12 nov. 2004 à 18:07
Salut kickbar
Oui, ça peut servir de tuto à ceux qui débutent en math.
S'il te reste 20 autres minutes, profites-en pour approfondir ton arthographe et ta grammaire ... parce que ça fait froid dans le dos !
ptitkaneda Messages postés 14 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 3 décembre 2004
12 nov. 2004 à 15:57
La formule exacte est :

x^pos * nb

ou x est la longueur de la base
pos est la position du chiffre à convertir
nb est le nombre à convertir

ex :
A1

en base hexa, donc longueur 16 (0123456789ABCDEF)
A = 10
16^0 * 1 + 16^1*10 = 161

A1 = 161

Sinon je sais pas si en VB on peut le faire mais quand y a de la conversion hexa autant utilisé du decalage binaire.

Et pour passer de decimal vers n'importe quel base c'est tout simplement :

on prend le nombre on le divise par la base de conversion voulu, tant que le resultat est different de 0 on divise le resultat par la base, ensuite on prend le reste de chaque division et sa nous donne notre nombre.
Exemple :

652 en hexa :

652 / 16 = 40 reste 12
40 / 16 = 2 reste 8
2 / 16 = 0 reste 2.

On a donc en resultat du reste : 2, 8, 12 en hexa sa donne 28C (C = 12), or 652 est bien égale à 28C.

Voila, simple nan ?
Rejoignez-nous