Nella sezione precedente abbiamo imparato come eseguire operazioni aritmetiche come addizioni e sottrazioni utilizzando il complemento a 1. In questa sezione impareremo a eseguire queste operazioni utilizzando il complemento a 2.
shehzad poonawala
Addizione utilizzando il complemento a 2
Ci sono tre diversi casi possibili quando aggiungiamo due numeri binari usando il complemento a 2, che è il seguente:
Caso 1: aggiunta del numero positivo con un numero negativo quando il numero positivo ha una grandezza maggiore.
Inizialmente trova il complemento a 2 del numero negativo indicato. Riassumi con il numero positivo indicato. Se otteniamo il riporto finale 1, il numero sarà un numero positivo e il bit di riporto verrà scartato e i bit rimanenti saranno il risultato finale.
Esempio: 1101 e -1001
- Innanzitutto, trova il complemento a 2 del numero negativo 1001. Quindi, per trovare il complemento a 2, cambia tutto 0 in 1 e tutto 1 in 0 o trova il complemento a 1 del numero 1001. Il complemento a 1 del numero 1001 è 0110 e aggiungi 1 all'LSB del risultato 0110. Quindi il complemento a 2 del numero 1001 è 0110+1=0111
- Aggiungi entrambi i numeri, cioè 1101 e 0111;
1101+0111=1 0100 - Sommando entrambi i numeri, otteniamo il riporto finale 1. Scartiamo il riporto finale. Quindi, la somma di entrambi i numeri è 0100.
Caso 2: aggiunta del valore positivo con un valore negativo quando il numero negativo ha una grandezza maggiore.
Inizialmente, aggiungi un valore positivo al valore del complemento a 2 del numero negativo. Qui non viene trovato alcun carry end-around. Quindi, prendiamo il complemento a 2 del risultato per ottenere il risultato finale.
Nota: il risultato è un valore negativo.
Esempio: 1101 e -1110
- Per prima cosa, trova il complemento a 2 del numero negativo 1110. Quindi, per trovare il complemento a 2, aggiungi 1 all'LSB del suo valore del complemento a 1 0001.
0001+1=0010 - Aggiungi entrambi i numeri, ovvero 1101 e 0010;
1101+0010= 1111 - Trova il complemento a 2 del risultato 1110 che è il risultato finale. Quindi, il complemento a 2 del risultato 1110 è 0001 e aggiungi un segno negativo prima del numero in modo da poter identificare che si tratta di un numero negativo.
Caso 3: addizione di due numeri negativi
In questo caso, per prima cosa, trova il complemento a 2 di entrambi i numeri negativi, quindi aggiungeremo entrambi i numeri del complemento. In questo caso, otterremo sempre il carry end-around, che verrà aggiunto all'LSB, e dimenticando il risultato finale, prenderemo il complemento a 2 del risultato.
Nota: il risultato è un valore negativo.
Esempio: -1101 e -1110 nel registro a cinque bit
- Innanzitutto trova il complemento a 2 dei numeri negativi 01101 e 01110. Quindi, per trovare il complemento a 2, aggiungiamo 1 all'LSB del complemento a 1 di questi numeri. Il complemento a 2 del numero 01110 è 10010 e 01101 è 10011.
- Aggiungiamo entrambi i numeri del complemento, cioè 10001 e 10010;
10010+10011= 1 00101 - Sommando entrambi i numeri, otteniamo il riporto finale 1. Questo riporto viene scartato e il risultato finale è il complemento a 2 del risultato 00101. Quindi, il complemento a 2 del risultato 00101 è 11011 e aggiungiamo un valore negativo segno prima del numero in modo da poter identificare che si tratta di un numero negativo.
Sottrazione utilizzando il complemento a 2
Questi sono i seguenti passaggi per sottrarre due numeri binari utilizzando il complemento a 2
- Nel primo passaggio, trova il complemento a 2 del sottraendo.
- Aggiungi il numero del complemento con il minuendo.
- Se otteniamo il carry sommando entrambi i numeri, allora scartiamo questo carry e il risultato è positivo altrimenti prendiamo il complemento a 2 del risultato che sarà negativo.
Esempio 1: 10101 - 00111
Prendiamo il complemento a 2 del sottraendo 00111, che è 11001. Ora sommali. COSÌ,
10101+11001 =101110.
Nel risultato precedente, otteniamo il bit di riporto 1. Quindi scartiamo questo bit di riporto e il rimanente è il risultato finale e un numero positivo.
Esempio 2: 10101 - 10111
Prendiamo il complemento a 2 del sottraendo 10111, che dà come risultato 01001. Ora aggiungiamo entrambi i numeri. COSÌ,
10101+01001 =11110.
Nel risultato sopra, non abbiamo ottenuto la parte di riporto. Quindi calcola il complemento a 2 del risultato, ovvero 00010. È il numero negativo e la risposta finale.