Salta al contenuto
Note per Studenti Esercizio 21 · quiz e calcoli su complemento a 2, sommatori e overflow (temi d'esame 2022-2026)

Esercizio 21quiz e calcoli su complemento a 2, sommatori e overflow (temi d'esame 2022-2026)

Esame
In questa pagina 4

Testo (domande a risposta multipla dei temi d'esame giugno 2022, luglio 2022, settembre 2022, febbraio 2023, settembre 2025 e giugno 2026 sull'aritmetica binaria, più le operazioni dell'esercitazione). Per ogni domanda: risposta e calcolo.


Teoria usata: Sommatori binari - half adder, full adder e ripple carryHalf adder (2 ingressi): $S=X\oplus Y$, $C=XY$. Full adder (3 ingressi, con riporto in ingresso $Z$): $S=X\oplus Y\oplus Z$, $C=XY+XZ+YZ=G+PZ$ con $P=X\oplus Y$, $G=XY$; si realizza con due half adder e una OR. Il ripple carry adder a $n$ bit concatena $n$ full adder: il riporto "ondeggia" dal LSB al MSB, quindi il ritardo cresce linearmente con $n$. È un circuito iterativo (gerarchico e regolare). Il moltiplicatore a 2 bit usa 4 AND e 2 half adder.Sommatori binari - half adder, full adder e ripple carry →, Numeri con segno, complemento a 2, sottrazione e overflowSottrazione senza segno: se $M\ge N$ nessun prestito in uscita, altrimenti il risultato $M-N+2^n$ è scorretto. Complemento a 1: $2^n-1-N$ (inversione bit a bit); complemento a 2: $2^n-N=$ complemento a 1 $+1$. Numeri con segno: segno e modulo (due zeri, intervallo simmetrico) oppure complemento a 2 (un solo zero, da $-2^{n-1}$ a $2^{n-1}-1$, MSB di peso $-2^{n-1}$). In complemento a 2 somma e sottrazione sono la stessa addizione: $A-B=A+\overline B+1$, riporto in uscita scartato. Overflow: senza segno $\Leftrightarrow C_{out}=1$ nella somma; con segno $\Leftrightarrow C_{in,MSB}\ne C_{out,MSB}$ (due operandi dello stesso segno con risultato di segno opposto).Numeri con segno, complemento a 2, sottrazione e overflow →.

Complemento a 2

tema domanda risposta calcolo
giu 2022 (13), feb 2023 (13) Complemento a 2 di −3-3 a 8 bit 1111110111111101 +3=00000011→+3=00000011\to inverto 1111110011111100, sommo 1: 1111110111111101 (=256−3=256-3)
lug 2022 (13), set 2022 (13) Se CC è il complemento a 2 di MM a nn bit: M+C=2nM+C=2^n per definizione C=2n−MC=2^n-M
giu 2026 (13) La rappresentazione in complemento a 2: ha un'unica rappresentazione dello zero 00000000 resta 00000000; segno e modulo ha +0+0 e −0-0
esercitazione −13-13 in segno e modulo e in complemento a 2 (9 bit) 100001101100001101 e 111110011111110011 13=00000110113=000001101: segno e modulo 1 000011011\,00001101; complemento a 2: 29−132^9-13, cioè invertire 000001101→111110010000001101\to111110010 e sommare 11

Somma e overflow

tema domanda risposta calcolo
set 2025 (7) 00010110+1011101000010110+10111010 (complemento a 2) in base 10: −48-48 (nessuna delle altre risposte) 22+(−70)22+(-70): 00010110+10111010=11010000=−128+64+16=−4800010110+10111010=11010000=-128+64+16=-48
lug 2022 (14), set 2022 (14), feb 2023 (14) In un ripple adder l'overflow si verifica quando: il riporto del full adder del bit più significativo e quello del bit immediatamente precedente sono diversi V=Cin,MSB⊕Cout,MSBV=C_{in,MSB}\oplus C_{out,MSB}
esercitazione C=0C=0 in un addizionatore-sottrattore per numeri senza segno: non c'è overflow nella somma e va corretto il segno nella sottrazione C=1C=1: overflow nella somma e segno corretto nella sottrazione
esercitazione In un ripple carry adder ogni full adder ha: 3 ingressi e 2 uscite X,Y,Cin→S,CoutX,Y,C_{in}\to S,C_{out} (anche il primo, con Cin=0C_{in}=0)
esercitazione 10011011−0100111010011011-01001110 (senza segno, 8 bit) 0100110101001101 (nessuna delle altre risposte) 155−78=77=01001101155-78=77=01001101, nessun prestito in uscita

Operazioni dell'esercitazione (numeri in complemento a 2, MSB = segno)

operazione calcolo risultato overflow?
a) 110001+011101110001+011101 (6 bit) −15+29-15+29: somma 001110001110; riporto in ingresso al segno 11, in uscita 11 +14+14 no (riporti uguali)
b) 0110111+01011110110111+0101111 (7 bit) +55+47=102>63+55+47=102>63: somma 11001101100110; riporto in ingresso 11, in uscita 00 letto −26-26 sì (riporti diversi)
c) 00000111−1111010000000111-11110100 +7−(−12)+7-(-12): 00000111+00001100=0001001100000111+00001100=00010011 +19+19 no
d) 0110111−01011110110111-0101111 (7 bit) +55−47+55-47: 0110111+1010001=(1) 00010000110111+1010001=(1)\,0001000, riporto scartato +8+8 no

Per (b) il risultato errato 11001101100110 in complemento a 2 a 7 bit vale −64+32+4+2=−26-64+32+4+2=-26, mentre la somma vera (102102) non sta nell'intervallo [−64,63][-64,63].

Errori comuni

  • Dire che il riporto in uscita indica overflow per i numeri con segno: conta il confronto tra riporto entrante e uscente del bit di segno.
  • Calcolare il complemento a 2 invertendo i bit senza sommare 1.
  • Dimenticare che −13-13 si scrive con più bit se si cambia la lunghezza (99 bit: 111110011111110011).
  • Leggere la somma 1101000011010000 come 208208 invece che −48-48 (è in complemento a 2).

Versione ripasso

Teoria collegata