Operazioni MS e CA2

ben2
Salve , qualcuno potrebbe chiarirmi una cosa sul seguente esercizio :


A ) -10-15 fare l’operazione rappresentando i numeri su 5 bit in MS e CA2 verifica correttezza risultati.

Io ho preso i numeri e li ho convertiti in binario $10_10 = 01010_2$ e $15_10=01111_2$

MS

$-10_10 = 11010_(ms)$
$-15_10 = 11111_(ms)$

Sono negativi , ho gia considerato i segni (entrami i numeri iniziano con 1 negativo) quandi li sommo.

11010 +
11111=
---------
111001

Per esserci l’overflow dovrei avere i segni degli operandi uguali e il segno del risultato diverso.
In questo caso il segno del risultato non é negativo come quello degli operandi ? Qunidi non c’é overflow.. dato che ho 6 bit nel risultato non dovrei avere 1 bit di carry nell’ MSB ?
Il libro dice che c’è solo un overflow

CA2

Ho CA2(10)+CA2(5)

$10_10 = 01010_2 -> -10_10 = 10110_(CA2)$
$15_10=01111_2 -> -15_10 = 10001_(CA2)$

10110 +
10001=
---------
100111

Il libro dice che il segno del risultato non é concorde con quello degli addendi , quindi credo si
Riferisca al primo zero del risultato. Ma in questo caso il primo bit MSB , che vale uno cosa rappreenta? , un carrry ? da scartare ?

Grazie
Ben

Risposte
ben2
qualcuno puo' aiutarmi ?

anonymous_be1147
"ben":


11010 +
11111=
---------
111001

Per esserci l’overflow dovrei avere i segni degli operandi uguali e il segno del risultato diverso.
In questo caso il segno del risultato non é negativo come quello degli operandi ? Qunidi non c’é overflow.. dato che ho 6 bit nel risultato non dovrei avere 1 bit di carry nell’ MSB ?
Il libro dice che c’è solo un overflow

La regola (nel caso di somma di numeri in MS) è che, se gli addendi sono concordi, hai overflow nel caso di carry-in sul bit di segno. In pratica se hai un riporto sopra il MSB dei due operandi (carry-out del penultimo bit).

Nel tuo caso

Carry-in sul MSB -----.
                      :
                      1  1  1  1
                      1  1  0  1  0 +
                      1  1  1  1  1 =
                      ---------------
                      1  1  0  0  1




10110 +
10001=
---------
100111

Il libro dice che il segno del risultato non é concorde con quello degli addendi , quindi credo si
Riferisca al primo zero del risultato. Ma in questo caso il primo bit MSB , che vale uno cosa rappreenta? , un carrry ? da scartare ?

E' il carry, lo scarti solo quando non c'è overflow.

Prova a guardare magari se l'eserciziario di Giampiero Gabodi può chiarirti meglio la faccenda.

ben2
grazie stan. avevo confuso un po le cose... :-D

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.