Aritmetica di un calcolatore (Virgola mobile)
Salve, devo fare la somma dei seguenti numeri convertiti in binario:
-10,4375
9,9375
che in binario equivalgono rispettivamente a:
11000001101001110000000000000000
01000001100111110000000000000000
Sapete dirmi qual è il procedimento da fare?
Il risultato deve essere:
11000001101010101000000000000000
Grazie.
-10,4375
9,9375
che in binario equivalgono rispettivamente a:
11000001101001110000000000000000
01000001100111110000000000000000
Sapete dirmi qual è il procedimento da fare?
Il risultato deve essere:
11000001101010101000000000000000
Grazie.
Risposte
E' chiaramente da spostare in Informatica questo topic.
Mancano dei dati. Cioe' devi specificare quanti bit per la mantissa e quanti per l'esponente sono assegnati nella stringa da 32 bit. Di solito sono 9 (o 8) per l'esponente e 23 (o 24) per la mantissa.
Mancano dei dati. Cioe' devi specificare quanti bit per la mantissa e quanti per l'esponente sono assegnati nella stringa da 32 bit. Di solito sono 9 (o 8) per l'esponente e 23 (o 24) per la mantissa.
argomento spostato
"Crook":
E' chiaramente da spostare in Informatica questo topic.
Mancano dei dati. Cioe' devi specificare quanti bit per la mantissa e quanti per l'esponente sono assegnati nella stringa da 32 bit. Di solito sono 9 (o 8) per l'esponente e 23 (o 24) per la mantissa.
1 10000011 01001110000000000000000
0 10000011 00111110000000000000000
Il primo campo è il bit per il segno; i successivi 8 bit sono l'esponente polarizzato; il resto è la mantissa.
Scusate se ho sbagliato sezione, ma non avevo visto Informatica.
Riepilogando:
I numeri da sommare sono -10,4375 e 9,9375.
Conversione in binario:
10,4375 --> 1010.0111
9,9375 --> 1001.1111
-10,4375 --> 11010.0111
+9,9375 --> 01001.1111
Rappresentazione in virgola mobile:
-10,4375 --> 1 10000011 01001110000000000000000
+9,9375 --> 0 10000011 00111110000000000000000
...adesso come si fa la somma?
La teoria è questa:

Conto nel vostro aiuto, grazie.
I numeri da sommare sono -10,4375 e 9,9375.
Conversione in binario:
10,4375 --> 1010.0111
9,9375 --> 1001.1111
-10,4375 --> 11010.0111
+9,9375 --> 01001.1111
Rappresentazione in virgola mobile:
-10,4375 --> 1 10000011 01001110000000000000000
+9,9375 --> 0 10000011 00111110000000000000000
...adesso come si fa la somma?
La teoria è questa:

Conto nel vostro aiuto, grazie.
Devi fare in modo che gli esponenti siano uguali, col rischio di perdere qualche bit della mantissa, poi basta fare la somma tra le mantisse.
...ma gli esponenti sono già uguali in questo caso.
Come si fa la somma tra le mantisse? Devo comprendere anche 0.1 che ho omesso nella rappresentazione?
Come si fa la somma tra le mantisse? Devo comprendere anche 0.1 che ho omesso nella rappresentazione?
Non avevo notato fossero uguali. In questo caso basta eseguire una normale differenza con riporti.
Il risultato deve essere:
1 10000011 01010101000000000000000, di cui la sola mantissa è: 01010101
Le mantisse da sommare corrispondenti ai due numeri sono:
0100111 (-10,4375) e 0011111 (9,9375)
giusto?
1 10000011 01010101000000000000000, di cui la sola mantissa è: 01010101
Le mantisse da sommare corrispondenti ai due numeri sono:
0100111 (-10,4375) e 0011111 (9,9375)
giusto?
Si', sono quelle, la cui differenza e' 1111000. Con 1 di segno.
Come puoi vedere il risultato che hai ottenuto non si trova 
Sbagliamo qualcosa?

Sbagliamo qualcosa?
Mi sono fidato della tua conversione in virgola mobile. Ricontrolla perché c'è qualche errore.
"Crook":
Mi sono fidato della tua conversione in virgola mobile. Ricontrolla perché c'è qualche errore.
Ho rifatto e ricontrollato la conversione, ma ottengo sempre lo stesso risultato. Sicuramente sbaglio qualcosa, potresti illustrarmi la retta via?

Forse sbaglio proprio il procedimento.
Senza farti fare l'esercizio, che capisco, può portare via tanto tempo, quali sono i passi da seguire?
Senza farti fare l'esercizio, che capisco, può portare via tanto tempo, quali sono i passi da seguire?
Le conversioni mi sembrano giuste, quindi non so come si faccia ad avere quel risultato. Sicuramente mi sfugge una cosa ovvia.
Le conversioni mi sembrano giuste, quindi non so come si faccia ad avere quel risultato. Sicuramente mi sfugge una cosa ovvia.