Tabella di verità

Messaggioda Walter97lor » 22/06/2019, 15:20

Ciao a tutti,
posto una soluzione di un esercizio che chiede di trovare la tabella di verità relativa ad una specie di moltiplicatore che:
- riceve in input due numeri $a$, $b$ a 2 bit ciascuno, dove il primo bit è $a1$ e il secondo bit è $a2$ ( analogamente per il numero $b$).
- restituisce in output un numero floating point relativo alla divisione $a/b$ con:
---> $1$ bit di segno, $0$ bit di mantissa e $2$ bit di esponente rappresentato in eccesso.
Una rappresentazione schematica è:
Immagine
La mia soluzione è:
Immagine
in cui non riesco a capire come utilizzare l'informazione sull'esponente.
So già che un numero in virgola mobile è rappresentato come:
$ 1,mantissa * 2^(exp-ec.) $
in cui l'eccesso è calcolabile con:
$ ec. = 2^(n-1)-1 = 2^(2-1)-1 = 1 $
Spero possiate aiutarmi, grazie dell'attenzione.
Se avete bisogno di ulteriori charimenti sono più che disponibile a darveli.
Walter97lor
Junior Member
Junior Member
 
Messaggio: 94 di 210
Iscritto il: 07/03/2016, 21:26

Re: Tabella di verità

Messaggioda apatriarca » 22/06/2019, 18:59

I numeri che puoi rappresentare in questa notazione sono uguali a \( (-1)^s\,2^{e-k} \). In questa notazione è impossibile rappresentare lo zero. La convenzione di solito utilizzata (anche nella tua tabella della verità) è quella di riservare \(e = 0\) per questo caso. L'eccesso è di solito scelto nel modo da te mostrato, per cui \(k=1\) e i possibili esponenti (in decimale) sono quindi \((e - k) \in \{-1, 0, 1, 2\}\). Siccome i tuoi valori di ingresso sono compresi in \(\{-2, -1, 0, 1\},\) l'esponente \(2\) non verrebbe tuttavia mai utilizzato. Viceversa, il valore \(e - k = -1\) è importante, ma da te riservato per lo zero. Un valore di eccesso uguale a \(2\) sarebbe quindi in realtà più utile in questo circuito. Soprattutto se non vuoi aggiungere il supporto per valori infiniti.

Trovo insomma che il tuo esercizio è un po' ambiguo essendoci alcune possibile scelte alternative per la tua rappresentazione. Usando le convenzioni usate nella tua tabella, direi che la penultima riga è sbagliata in quando l'esponente di \(2\) dovrebbe essere \(10_b.\) Usando il tuo eccesso, \(0.5\) e \(-0.5\) dovrebbero essere arrotondati a \(0\) (quindi esponente uguale a \(00_b\). Siccome \(11_b\) non è utilizzato nella tua tabella, direi che puoi usarlo per i casi infiniti segnati come N.D. almeno..
apatriarca
Moderatore
Moderatore
 
Messaggio: 5244 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Tabella di verità

Messaggioda Walter97lor » 23/06/2019, 09:20

Ciao apatriarca, ti rigrazio per aver risposto in maniera così precisa. Purtroppo il testo dell'esercizio era così specificato.
Non mi è chiarissimo, però, il fatto che i valori $0.5$ e $-0.5$ debbano essere arrotondati a zero.
Grazie ancora per la disponibilità.
Walter97lor
Junior Member
Junior Member
 
Messaggio: 95 di 210
Iscritto il: 07/03/2016, 21:26

Re: Tabella di verità

Messaggioda apatriarca » 24/06/2019, 09:20

\(\pm O.5\) non è rappresentabile usando le convenzioni scelte, per cui deve essere arrotondato al numero rappresentabile più vicino. Le scelte sono 0 o 1 e a seconda del tipo di arrotondamento scelto la risposta può essere diversa. L'arrotondamento usato di default nei computer è chiamato round to even e porterebbe alla scelta dello zero.
apatriarca
Moderatore
Moderatore
 
Messaggio: 5246 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Tabella di verità

Messaggioda Walter97lor » 24/06/2019, 15:40

Grazie mille ancora una volta, ora mi è più chiaro.
Walter97lor
Junior Member
Junior Member
 
Messaggio: 97 di 210
Iscritto il: 07/03/2016, 21:26


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite