Comment convertir nombre float en binaire?
quelqu'un peut-il s'il vous plaît me dire comment je peux convertir ce nombre flottant: 12.25 en binaire? Je sais comment convertir le "12", mais pas de 0,25
Toute aide est très appréciée. Merci
33
demandé sur
Abimaran Kugathasan
2010-10-17 21:57:07
5 réponses
continuez à multiplier le nombre après la décimale par 2 jusqu'à ce qu'il devienne 1.0:
0.25*2 = 0.50
0.50*2 = 1.00
et le résultat est dans l'ordre inverse .01
22
répondu
Abhi
2014-06-04 10:06:29
(d signifie décimal, b signifie binaire)
- 12.25 d est votre flotteur.
- Vous écrivez 12d en binaire et le supprimer de votre flotteur. Seul le reste.( 25d) seront laissées.
- Vous écrivez le point.
- alors que le reste (0,25 d) n'est pas zéro (et/ou vous voulez plus de chiffres), multipliez-le par 2 ( - > 0.50 d), supprimer et écrire le chiffre à gauche du point (0), et continuer avec le nouveau reste (.50d).
13
répondu
comonad
2016-08-08 19:46:19
Considérer l'exemple ci-dessous
Convertissez 2.625 en binaire.
nous considérerons l'entier et la fraction séparément.
The integral part is easy, 2 = 10.
Pour la partie fractionnaire:
0.625 × 2 = 1.25 1 Generate 1 and continue with the rest.
0.25 × 2 = 0.5 0 Generate 0 and continue.
0.5 × 2 = 1.0 1 Generate 1 and nothing remains.
Afin de 0,625 = 0.101, et 2.625 = 10.101.
13
répondu
Govind Prabhu
2017-11-04 15:52:27
la valeur float est stockée dans le formate IEEE 754 de sorte que nous ne pouvons pas couvrir directement comme entier,char à binaire. Mais on peut convertir float en binaire par pointeur.
main()
{
float a=7.5;
int i,*p; p=&a;
for (sizeof(int)*8-1;i>=0;i--)
printf("%d",(*p)>>i&1);
}
OUTPUT::0 10000001 11100000000000000000000---space for better clarification not included in part of the program.
3
répondu
ilango victor
2016-02-11 18:04:32
x = float(raw_input("enter number between 0 and 1: "))
p = 0
while ((2**p)*x) %1 != 0:
p += 1
# print p
num = int (x * (2 ** p))
# print num
result = ''
if num == 0:
result = '0'
while num > 0:
result = str(num%2) + result
num = num / 2
for i in range (p - len(result)):
result = '0' + result
result = result[0:-p] + '.' + result[-p:]
print result #this will print result for the decimal portion
1
répondu
iLabQC
2015-01-17 16:50:09