Conversion Decimal to binary et inversement. - C - Programmation
Marsh Posté le 05-03-2009 à 16:40:46
Oué, déjà définit précisément ce que tu entends par "convertir en binaire". Parce que si tu regardes un entier dans la mémoire d'un ordinateur, bah, c'est déjà en binaire. Si maintenant tu cherches à convertir un entier (int) en l'équivalent binaire sous forme de chaine de caractère, bah alors là ton algo est complètement à coté de la plaque.
Ça serait plutôt un truc du genre :
Code :
|
Marsh Posté le 05-03-2009 à 16:49:53
Enfait la man ascii disponible sous freebsd ne comporte pas la valeur de chaque caractère en binaire uniquement en hexa, decimal et octal.
Je vais essayer ta methode mais j'ai finalement reussi a le recoder et sa me permet de rentre la base que j'ai decider au prealable ^^
il ne me reste plus qu'a retourner la valeur.
Merci de ton aide
Marsh Posté le 05-03-2009 à 17:11:02
Enfait je suis de retour ^^
Je print bien les nombres mais si je rentre 49 (le caractere ascii) de chiffre 1 je devrais obtenir 00110001 mais j'obtiens 110001.
Lorsque j'utilise ma fonction get_nbr_base pour convertir 110001 en decimale cela me retourne 110001, idem pour 00110001... une idee ?
Marsh Posté le 05-03-2009 à 17:30:12
Hmm, 00110001b == 110001b, les zéros de poids fort ne servent à rien (à moins que tu cherches à concaténer une suite de nombre binaire sans séparateur). Si tu veux un padding sur un nombre multiple de huit caractères, tu peux faire un truc du genre:
Code :
|
Marsh Posté le 05-03-2009 à 17:41:52
Justement j'aimerais passer a ma fonction une chaine de caractere qui comprend 64 carractere
(001100010100110010011100011011100011100011011001110011110011000110)
En gros des qu'il rencontre un 0 il envoi un SIGUSR1 et si il rencontre un 1 il envoi SIGUSR2, le probleme c'est que si je souhaite envoyer 10 et 0 je vais lui passer la chaine 100 qui est enfait 4 ^^
Marsh Posté le 05-03-2009 à 15:55:11
Bonjour,
je bosse actuellement sur un projet et je dois convertir la valeur d'un char (man ascii) en binaire.
exemple : "cool" en ascii sa donne (99 111 111 108) il me reste plus qu'a transformer 99 en binaire.
J'ai donc recoder une fonction appeler get_number_base, cependant il me renvoi un peu n'importe quoi.
J'ai aussi parcourus le web et plus particulierement le forum, je suis tomber sur ce post :
http://forum.hardware.fr/hfr/Progr [...] 2330_1.htm
ma fonction getnbr me renvoi constamment -15... je poste le code de cette fonction si quelqu'un veut bien jeter un cou d'oeil ^^
(en aucun cas je demande qu'on me fasse mon boulot, juste qu'on me debloque).
Merci les codeurs fou ^^
Leoz
---------------
Worldcraze 10loop