Convertion Binaire [Résolu]

swadfish 16 Messages postés mardi 21 février 2006Date d'inscription 8 février 2010 Dernière intervention - 31 janv. 2010 à 22:18 - Dernière réponse : swadfish 16 Messages postés mardi 21 février 2006Date d'inscription 8 février 2010 Dernière intervention
- 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
botelec 41 Messages postés vendredi 20 juin 2003Date d'inscription 11 septembre 2010 Dernière intervention - 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
botelec 41 Messages postés vendredi 20 juin 2003Date d'inscription 11 septembre 2010 Dernière intervention - 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
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 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
swadfish 16 Messages postés mardi 21 février 2006Date d'inscription 8 février 2010 Dernière intervention - 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
swadfish 16 Messages postés mardi 21 février 2006Date d'inscription 8 février 2010 Dernière intervention - 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
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 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
swadfish 16 Messages postés mardi 21 février 2006Date d'inscription 8 février 2010 Dernière intervention - 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.