Riporto nelle addizioni e sottrazioni di numeri binari.
Salve a tutti. Per piacere, chi può aiutarmi a capire qual è la risposta a queste due domande?
1. Nell'addizione o sottrazione tra numeri binari in COMPLEMENTO A UNO, perchè il riporto finale (end-around carry) deve essere sommato al risultato ottenuto per avere il risultato finale?
2. Perchè nell'addizione o sottrazione tra numeri binari in COMPLEMENTO A DUE deve essere ignorato il riporto finale (carry-out)?
C'è una spiegazione matematica a entrambe le domande??
Grazie a chiunque risponderà.
1. Nell'addizione o sottrazione tra numeri binari in COMPLEMENTO A UNO, perchè il riporto finale (end-around carry) deve essere sommato al risultato ottenuto per avere il risultato finale?
2. Perchè nell'addizione o sottrazione tra numeri binari in COMPLEMENTO A DUE deve essere ignorato il riporto finale (carry-out)?
C'è una spiegazione matematica a entrambe le domande??
Grazie a chiunque risponderà.
Risposte
"Lois":
Salve a tutti. Per piacere, chi può aiutarmi a capire qual è la risposta a queste due domande?
1. Nell'addizione o sottrazione tra numeri binari in COMPLEMENTO A UNO, perchè il riporto finale (end-around carry) deve essere sommato al risultato ottenuto per avere il risultato finale?
2. Perchè nell'addizione o sottrazione tra numeri binari in COMPLEMENTO A DUE deve essere ignorato il riporto finale (carry-out)?
C'è una spiegazione matematica a entrambe le domande??
Grazie a chiunque risponderà.
Si calcoli a-b. Nella sottrazione in compl. a 2 su n bit, si somma al minuendo (a) il compl. a 2 del sottraendo (b), il quale compl. a 2 di b altro non è che $2^(n+1)-b$; il termine $2^(n+1)$, aggiunto prima, va naturalmente sottratto alla fine (il carry) per far quadrare i conti.
Analogamente, nella sottrazione in compl. a 1 su n bit, si somma al minuendo il compl. a 1 del sottraendo, ossia $(2^(n+1)-1)-b$; alla fine va naturalmente sottratto il carry e sommato 1.
Con un esempio: si calcoli 9-2.
sottrazione in c.a 2:
$1001-10=1001+(10000-10)-10000=1001+1110-10000=10111-10000=0111$
sottrazione in c.a 1:
$1001-10=1001+(1111-10)-1111=1001+1101-10000+1=10110-10000+1=0111$

Quindi la potenza di due rappresenta in tutti e due i casi il carry? Perchè?
P.S. Credo che ci sia un errore nelle due formule : è 2^n e non 2^(n+1).
P.S. Credo che ci sia un errore nelle due formule : è 2^n e non 2^(n+1).
"Lois":
Quindi la potenza di due rappresenta in tutti e due i casi il carry? Perchè?
Perché sommando al minuendo il c. a 2 o a 1 del sottraendo si genera sempre un bit 1 eccedente a sinistra.
"Lois":
P.S. Credo che ci sia un errore nelle due formule : è 2^n e non 2^(n+1).
Vero, sorry
