swadfish
Messages postés16Date d'inscriptionmardi 21 février 2006StatutMembreDernière intervention 8 février 2010
-
31 janv. 2010 à 22:18
swadfish
Messages postés16Date d'inscriptionmardi 21 février 2006StatutMembreDerniè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
botelec
Messages postés38Date d'inscriptionvendredi 20 juin 2003StatutMembreDernière intervention11 septembre 20101 2 févr. 2010 à 14:27
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.
botelec
Messages postés38Date d'inscriptionvendredi 20 juin 2003StatutMembreDernière intervention11 septembre 20101 2 févr. 2010 à 17:31
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
swadfish
Messages postés16Date d'inscriptionmardi 21 février 2006StatutMembreDernière intervention 8 février 2010 2 févr. 2010 à 00:00
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