I vårt förra avsnitt lärde vi oss om olika komplement såsom 1:s komplement, 2:s komplement, 9:s komplement, och 10:s komplement, etc.. I det här avsnittet kommer vi att lära oss att utföra de aritmetiska operationerna som addition och subtraktion med hjälp av 1:s komplement. Vi kan utföra addition och subtraktion med hjälp av 1:or, 2:or, 9:or och 10:or komplement.
Tillägg med 1:s komplement
Det finns tre olika fall möjliga när vi lägger till två binära tal som är följande:
Fall 1: Addering av det positiva talet med ett negativt tal när det positiva talet har en större magnitud.
Beräkna först 1:ans komplement till det givna negativa talet. Summera med det givna positiva talet. Om vi får slut-around carry 1, läggs den till i LSB.
Exempel: 1101 och -1001
- Hitta först 1:ans komplement till det negativa talet 1001. Så, för att hitta 1:s komplement, ändra alla 0 till 1 och alla 1 till 0. 1:ans komplement till talet 1001 är 0110.
- Lägg nu till båda siffrorna, dvs. 1101 och 0110;
1101+0110=1 0011 - Genom att lägga till båda siffrorna får vi slut-around carry 1. Vi lägger till denna ände runt carry till LSB för 0011.
0011+1=0100
Fall 2: Lägga till ett positivt värde med ett negativt värde om det negativa talet har en högre magnitud.
Beräkna först 1:ans komplement till det negativa värdet. Summa det med ett positivt tal. I det här fallet fick vi inte den slutliga bäringen. Så ta 1:ans komplement till resultatet för att få det slutliga resultatet.
Obs! Resultatet är ett negativt värde.
Exempel: 1101 och -1110
- Hitta först 1:ans komplement till det negativa talet 1110. Så för att hitta 1:s komplement ändrar vi alla 0 till 1, och alla 1 till 0. 1:s komplement till talet 1110 är 0001.
- Lägg nu till båda siffrorna, dvs. 1101 och 0001;
1101+0001= 1110 - Hitta nu 1:ans komplement till resultatet 1110 som är det slutliga resultatet. Så 1:ans komplement till resultatet 1110 är 0001, och vi lägger till ett negativt tecken före talet så att vi kan identifiera att det är ett negativt tal.
Fall 3: Addering av två negativa tal
I det här fallet, hitta först 1:ans komplement till båda de negativa talen, och sedan adderar vi båda dessa komplementtal. I det här fallet får vi alltid den slutgiltiga bäraren, som läggs till i LSB, och för att få det slutliga resultatet tar vi 1:ans komplement till resultatet.
Obs! Resultatet är ett negativt värde.
Exempel: -1101 och -1110 i fembitarsregister
- Hitta först 1:ans komplement till de negativa talen 01101 och 01110. Så för att hitta 1:s komplement ändrar vi alla 0 till 1 och alla 1 till 0. 1:s komplement till talet 01110 är 10001 och 01101 är 10010.
- Nu lägger vi till båda komplementnumren, dvs 10001 och 10010;
10001+10010= 100011 - Genom att lägga till båda siffrorna får vi överföringen 1. Vi lägger till denna överföring till LSB för 00011.
00011+1=00100 - Hitta nu 1:ans komplement till resultatet 00100 som är det slutliga svaret. Så 1:ans komplement till resultatet 00100 är 110111, och lägg till ett negativt tecken före talet så att vi kan identifiera att det är ett negativt tal.
Subtraktion med 1:s komplement
Dessa är följande steg för att subtrahera två binära tal med 1:s komplement
- I det första steget, hitta 1:ans komplement till subtrahenden.
- Lägg sedan till komplementnumret med minuend.
- Om du har en bära, lägg till den i dess LSB. Ta annars ett komplement av resultatet som blir negativt
Obs: Subtrahend-värdet subtraheras alltid från minuend.
Exempel 1: 10101 - 00111
Vi tar 1:s komplement av subtrahend 00111, som kommer ut 11000. Nu summera dem. Så,
10101+11000 =1 01101.
I resultatet ovan får vi bärbiten 1, så lägg till detta till LSB för ett givet resultat, dvs 01101+1=01110, vilket är svaret.
Exempel 2: 10101 - 10111
Vi tar 1:s komplement av subtrahend 10111, som kommer ut 01000. Lägg nu till båda siffrorna. Så,
10101+01000 =11101.
I resultatet ovan fick vi inte bärbiten. Så beräkna 1:ans komplement till resultatet, dvs 00010, vilket är det negativa talet och det slutliga svaret.