conversion nombre binaire-->nombre decimal ??? - Programmation
Marsh Posté le 05-02-2002 à 10:22:00
C'est tres simple, tu fais une boucle qui verifie chaque bit de ton nombre si il est a 1 tu calcul la puissance de 2 correspondant au rang du bit, et une fois tout les bits testés, tu fais le total.
[edtdd]--Message édité par thecoin--[/edtdd]
Marsh Posté le 05-02-2002 à 11:15:34
ouai, c ceque g fait mais c le bordel pour les nombres negatifs!! ;(
Marsh Posté le 05-02-2002 à 12:52:42
He, c'est vrai ça!
J'y ait jamais pensé, les nombres negatifs, c'est un peu + dur.
Attend voir ...
Mais on doit pouvoir retomber sur ses pattes ...
1111 1111 = 255 = -1
1111 1110 = 254 = -2
1111 1101 = 253 = -3
...
donc ton nombre négatif, c'est :
-(256 - nombre)
exemple avec -4, soit 252 en non signé :
-(256 - 252) = -(4).
Donc, si ton nombre est inférieur à 128, tu applique l'algo donné par thecoin, sinon tu applique ce que je viens de te donner
A toi de mettre à jour avec 65536 ou autre en fonction de la taille des opérandes que tu manipules ...
Marsh Posté le 05-02-2002 à 10:16:00
Je cherche juste un petit algo pour transformer un nombre binaire en decimal (par complement à 2)
Merci d'avance