Fra mezz'ora ho l'esame di reti logiche ahahahahaOriginariamente 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!!![]()
![]()
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:
percui il numero e' (la mantissa la leggi dall'alto):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
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