Convertion de gros nombre hexadecimal en decimal [Résolu]

Messages postés
5
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
13 septembre 2009
- - Dernière réponse : KingRamses
Messages postés
5
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
13 septembre 2009
- 22 avril 2008 à 18:56
Voila, je veut savoir comment convertire des grands nombre hexadecimal en decimal (avec Delphi bien sur), voici un exemple de nombre à convertire: 

X := '0D7E0E3A8176E7C7A2336019AA9B447236E9A8CD880B103100' ;

J'aimerai aussi pouvoir faire des opérations sur ces nombres, exemple (X + 1), ou encore ( X * 2)

Quelqu'un peut m'expliquer comment performer des opérations mathématiques sur des grand nombres hexadécimals comme celui de mon exemple?

Merci!
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
67
Date d'inscription
dimanche 16 octobre 2005
Statut
Membre
Dernière intervention
13 novembre 2009
1
3
Merci
A mon avis avec un nombre de cette taille la précision mathématique n'est pas assez précise, il faut implenter toi même le système de calcul, le plus simple n'étant pas le plus élégant :
tu considères ton nombre par une série de rangs (1 chiffre decimal ou hexa) classé du moins signifiant (dernier à droite) au plus signifiant (premier à gauche).

Ensuite il faut se rappeler des cours du CP et du CE1 ...

Pour additionner 2 nombres S=x+y
pour chaque rang (i) :    S(i)=x(i)+y(i)+retenue(i-1)   et prépare la retenue(i) pour le rang

pour la multiplication : rappelez-vous :

 142
x 36
----
 852
426
----
5112

idem en hexa

 142
X 36
----
 78C
3C6
----
43EC

Attention pour les très grosses multiplications la retenue peut être sur plusieurs rangs ... mais on peut simplifier :


car même en hexa 142X36=142X30 + 142X6 (et là : pas de retenue supérieure à un rang).

Jean-Michel

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 205 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jnmchl
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9
0
Merci
ShowMessage(IntToStr($D5));

çà devrait te mettre sur la piste..

cantador
Commenter la réponse de cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9
0
Merci
Voila, je veut savoir comment convertire des grands nombre

Faudrait savoir si effectivement ce sont biens des grands nombres ou la lecture d'une chaîne représentant une suite d'octets en hexadécimal ?

cantador
Commenter la réponse de cs_cantador
Messages postés
5
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
13 septembre 2009
0
Merci
C'étai effectivement des grand nombres.

J'ai maintenant une autre question:

Je dois faire ce calcul:
Z = X^(-1) mod Y

Mes valeurs "X" et "Y" sont:
X:= '9DF125F1C789F2384DE2F34EBC1B1F5712BDE7E3CB22593F3F9A0C88D8C1D247';
Y:= 'F2860A427302333BCD040912A34F2B62F8DC0A42F3DE8BB6E684BC1789AB6111';

Quelqu'un aurait-t'il une idée de la façon dont je dois m'y prendre?
Commenter la réponse de KingRamses