Convertion Binaire [Résolu]

Messages postés
16
Date d'inscription
mardi 21 février 2006
Dernière intervention
8 février 2010
- 31 janv. 2010 à 22:18 - Dernière réponse :
Messages postés
16
Date d'inscription
mardi 21 février 2006
Dernière intervention
8 février 2010
- 3 févr. 2010 à 14:26
Bonsoir,
je sollicite votre aide pour pouvoir recoudre mon problème qui s'agit de convertir un nombre décimale en binaire en un octet et sur lequel je peux appliquer des opération arithmétique

Bon j'ai essayer qui suit:
[*] Créer un tableau de 8 éléments (8 bit)
[*] convertir l'élément décimale par la méthode classique ( div et mod)
[*] rassembler ses éléments dans le tableau
[*] le lire par la boucle for/downto

le problème qui persiste c'est application arithmétique sur le résultat (que j'ai pas trouvé un autre moyen de le rassembler qu'en chaine de caractères "s:=s+t[i]")

Si quelqu'un peut me proposer une solution ou m'aider a la trouvé j'en serai ravi .
Merci


My Life Is Delphi
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
41
Date d'inscription
vendredi 20 juin 2003
Dernière intervention
11 septembre 2010
2 févr. 2010 à 14:27
3
Merci
Bonjour,
A ma connaissance, il n'y a que Val() qui permette de convertir une chaine de caractère en une valeur décimale.
Reste qu'on ne fait pas directement d'opération en binaire (Chaine), il est plus simple de travailler directement sur de l'hexa ou du décimal.

ps: j'ai choisi le format 8 bit pour effectuer les opérations binaires

Si tu dois faire des opérations sur du binaire; converti d'abord en Hexa; BinToHex()
Ensuite tu peux faire tes opérations et enfin tu peux reconvertir si besoin; HexToBin()

Exemple: tu veux '00000011' or '00000100' '00000111' < soit > $3 or $4 $7
Cordialement.
MAt.

Merci botelec 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de botelec
Meilleure réponse
Messages postés
41
Date d'inscription
vendredi 20 juin 2003
Dernière intervention
11 septembre 2010
2 févr. 2010 à 17:31
3
Merci
Effectivement, non DelphiProg, je ne les connaissais pas toute, (Je parlais quand même de conversion entre chaine > décimal et décimal < chaine), merci tout de même pour tes précisions :)

Et oui, a swadfish le résultat avec un NOT sera identique en hexa et en binaire qui ne sont que des représentations.
(La calculatrice peut aussi t'aider en affichage scientifique ...)

'00000011' or not '00000100' <=> '00000011' or '11111011' => '11111110' = 251 en décimal

=> $3 or $FB => $FB = 251 en décimal

Voila, A+

Merci botelec 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de botelec
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
9 janvier 2013
1 févr. 2010 à 22:21
0
Merci
Fraichement publié par ludokk, un source à portée de clic :
Convertisseur d'un nombre décimal en binaire et hexadecimal


May Delphi be with you

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.

Sauvons MySQL
Commenter la réponse de cs_Delphiprog
Messages postés
16
Date d'inscription
mardi 21 février 2006
Dernière intervention
8 février 2010
2 févr. 2010 à 00:00
0
Merci
Merci pour ta réponse,
J'ai déjà vu ce code source mais le problème c'est que le résultat est une chaine de caractère donc impossible d'effectuer les opération arithmétique et même si je le convertie entier il va perdre sa forme régulière par exemple(s='00010011) >>> en entier (10011)
ps: j'ai choisi le format 8 bit pour effectuer les opération binaire.
bonne nuit

My Life Is Delphi
Commenter la réponse de swadfish
Messages postés
16
Date d'inscription
mardi 21 février 2006
Dernière intervention
8 février 2010
2 févr. 2010 à 14:36
0
Merci
Merci pour ta réponse botelec;
et si je veut utiliser le NOT cela sera la même chose qu'en hex qu'au binaire?
My Life Is Delphi
Commenter la réponse de swadfish
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
9 janvier 2013
2 févr. 2010 à 16:20
0
Merci
@botelech : ignorerais-tu toutes ces routines de conversion ?
Routines de conversion à virgule flottante

FloatToCurr,fonction

Convertit une valeur virgule flottante en valeur Currency.

FloatToDateTime,fonction

Convertit une valeur virgule flottante en valeur TDateTime.

FloatToDecimal,procédure

Convertit une valeur virgule flottante en représentation décimale.

FloatToStr,fonction

Convertit une valeur virgule flottante en chaîne.

FloatToStrF,fonction

Convertit une valeur virgule flottante en chaîne à l'aide des paramètres Format,Precision et Digits.

FloatToText,fonction

Convertit une valeur virgule flottante en une chaîne non terminée,à l'aide des paramètres Format,Precision et Digits.

FloatToTextFmt,fonction

Convertit une valeur àvirgule flottante en une chaîne non terminée,à l'aide du format spécifié.

FormatFloat,fonction

Formate une valeur àvirgule flottante.

StrToCurr,fonction

Convertit une chaîne en valeur Currency.

StrToCurrDef,fonction

Convertit une chaîne en valeur Currency,avec renvoi de Default en cas d'erreur.

StrToFloat,fonction

Convertit une chaîne donnée en valeur àvirgule flottante.

StrToFloatDef,fonction

Convertit une chaîne donnée en une valeur à virgule flottante,avec renvoi de Default en cas d'erreur.

TextToFloat,fonction

Convertit une chaîne àzéro terminal en valeur àvirgule flottante.

TryFloatToCurr,fonction

Convertit une valeur virgule flottante en valeur Currency.

TryFloatToDateTime,fonction

Convertit une valeur virgule flottante en valeur TDateTime.

TryStrToCurr,fonction

Convertit une chaîne en valeur Currency,avec renvoi d'un code de succès booléen.

TryStrToFloat,fonction

Convertit une chaîne donnée en une valeur à virgule flottante,avec renvoi d'un code de succès booléen.


May Delphi be with you

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.

Sauvons MySQL
Commenter la réponse de cs_Delphiprog
Messages postés
16
Date d'inscription
mardi 21 février 2006
Dernière intervention
8 février 2010
3 févr. 2010 à 14:26
0
Merci
Merci :):)


My Life Is Delphi
Commenter la réponse de swadfish

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.