2010-03-09 3 views

Répondre

2

Puisque vous avez déjà compris que c'est (en binaire) 1.1001 * 10^-100, maintenant vous avez juste à convertir le nombre binaire en nombre décimal.

En décimal, chaque chiffre a une valeur dix fois plus grande que celle qui le précède. En binaire, chaque chiffre a une valeur moitié moins grande que celle qui le précède.

Premier 1.1001 * 10^-100 = 0.00011001.

Ce qui est ...

0 * 1   0 * 1 
+ 0 * 1/2  + 0 * 0.5 
+ 0 * 1/4  + 0 * 0.25 
+ 0 * 1/8  + 0 * 0.125 
+ 1 * 1/16  + 1 * 0.0625 
+ 1 * 1/32  + 1 * 0.03125 
+ 0 * 1/64  + 0 * 0.015625 
+ 0 * 1/128  + 0 * 0.0078125 
+ 1 * 1/256  + 1 * 0.00390625 

0,0625 + 0,03125 + 0,00390625 = 0,09765625

C'est tout ce qu'il ya à faire.

+0

Meilleure explication que j'ai pu trouver. C'est génial, merci! – tgai

1

1.1001b est 1*1 + 0.5*1 + 0.25*0 + 0.125*0 + 0.0625*1 ou 1.5625. Multipliez cela par 2**-4 (0.0625) pour obtenir 0.09765625.

+0

Très utile, merci! – tgai

0

dans C:

int fl = *(int*)&floatVar; 
Questions connexes