Originariamente inviato da zaltar
Avendo un numero decimale calcolare il rispettivo binario in virgola mobile a singola precisione (32bit).

E' un'emergenza, ne ho bisogna per PRIMA DI SUBITO.
I numeri incriminati sono:
1) 15,1375;
2) 1,84375;
3) 0,3203125.

Vi prego rispondete e in fretta!

P.S. scrivo in questo forum perchè so che c'è gente seria (uso Slack10...) e non so dove sbattere la testa perchè google fa i capricci non fornendo alcun risultato utile.

Plz!!
Fra mezz'ora ho l'esame di reti logiche ahahahaha

Ti conviene prima convertirlo in virgola fissa e poi in mobile, che e' piu' veloce!

15,1375 in virgola mobile e:

00000000000000001111 (15) . MANTISSA

MANTISSA (0.1375) la moltiplichi per due, finche' minore di 1 metti come resto 0, quando arrivi a > di 1 metti come resto uno, lo togli dal risultato e continui a moltiplicare per due, fino al numero di cifre che ti servono:
codice:
0.1375 * 2 (resto)
0.275         0
0.55          0
1.1           1 (fai 11)
0.2           0
0.4           0
0.8           0
1.6           1 (togli 1) #mi fermo qua :D
percui il numero e' (la mantissa la leggi dall'alto):
00000000000000001111,0010001

per passarlo in virgola mobile, usi:
1 bit per il segno 0 positivo 1 negativo
8 bit per l'esponente che lo calcoli facendo uno shift della virgola fino ad avere il numero binario nella forma 1,MANTISSA, il numero di shift sommi 127 ed hai l'esponente del numero.
23 bit per la mantissa ottenuta dopo lo shift

percui il numero di prima e
0 100000010 1110010001

bye bye