problème conversion binaire
bonjour, j'ai un petit problème dans un de mes programmes. son but est de convertir du binaire en décimal.
pour ce faire, je divise successivement le nombre par 10 et ainsi traiter le dernier bit.
exemple avec 5 (101)
1) 101/10= 10.1 on traite le .1, on le multiplie par 2^0 comme c'est le bit n°1
puis enlève la partie décimale pour traiter le bit suivant donc on a 10
2) 10/10= 1.0, on traite le .0 on le multiplie par 2^1 comme c'est le bit n°2
puis on enlève la partie décimale pour traiter le bit suivant donc on a 1
3)1/10= 0.1, on traite le .1 on le multiplie par 2^2 comme c'est le bit n°3
puis on enlève la partie décimale pour traiter le bit suivant, mais comme la partie entière donne 0, la boucle s'arrête
on affiche ensuite la somme des parties décimales multipliées par 2^i.
sur le papier tout va bien, en exécution par contre.... c'est le drame et je n'arrive pas à comprendre comment résoudre le problème
exemples :
pour 21 il m'affiche 20.999770, pour 5 il m'affiche 5.000004 alors que pour 3 il m'affiche le résultat correct soit 3.000000
voici le code source avec les commentaires
http://pastebin.com/f50e709ad
merci de m'aider sur la solution à adopter afin d'éliminer toutes erreurs