I talrepræsentationsteknikker er det binære talsystem den mest anvendte repræsentationsteknik i digital elektronik. Komplementet bruges til at repræsentere det negative decimaltal i binær form. Forskellige typer komplement er mulige af det binære tal, men 1'er og 2'er komplementer bruges mest til binære tal. Vi kan finde 1'erens komplement til det binære tal ved blot at invertere det givne tal. For eksempel er 1's komplement af binært tal 1011001 0100110. Vi kan finde 2's komplement af det binære tal ved at ændre hver bit(0 til 1 og 1 til 0) og lægge 1 til den mindst signifikante bit. For eksempel er 2's komplement af binært tal 1011001 (0100110)+1=0100111.
For at finde 1's komplement til det binære tal, kan vi implementere det logiske kredsløb også ved at bruge NOT gate. Vi bruger NOT gate for hver bit af det binære tal. Så hvis vi ønsker at implementere det logiske kredsløb for 5-bit 1's komplement, vil fem IKKE-porte blive brugt.
Eksempel 1: 11010.1101
For at finde 1's komplement af det givne tal skal du ændre alle 0'er til 1 og alle 1'ere til 0. Så 1'er komplementet af tallet 11010.1101 kommer ud 00101.0010 .
Eksempel 2: 100110.1001
For at finde 1's komplement af det givne tal skal du ændre alle 0'er til 1 og alle 1'ere til 0. Så 1'er komplementet af tallet 100110.1001 kommer ud 011001.0110 .
1's komplementtabel
Binært tal | 1's komplement |
---|---|
0000 | 1111 |
0001 | 1110 |
0010 | 1101 |
0011 | 1100 |
0100 | 1011 |
0101 | 1010 |
0110 | 1001 |
0111 | 1000 |
1000 | 0111 |
1001 | 0110 |
1010 | 0101 |
1011 | 0100 |
1100 | 0011 |
1101 | 0010 |
1110 | 0001 |
1111 | 0000 |
Brug af 1's komplement
1's komplement spiller en vigtig rolle i at repræsentere de signerede binære tal. Hovedanvendelsen af 1's komplement er at repræsentere et binært tal med fortegn. Udover dette bruges det også til at udføre forskellige aritmetiske operationer såsom addition og subtraktion.
I fortegnsrepræsentation af binære tal kan vi repræsentere både positive og negative tal. For at repræsentere de positive tal er der intet at gøre. Men for at repræsentere negative tal skal vi bruge 1's komplementteknik. For at repræsentere det negative tal skal vi først repræsentere det med et positivt fortegn, og derefter finder vi 1'erens komplement til det.
Lad os tage et eksempel på et positivt og negativt tal og se, hvordan disse tal er repræsenteret.
Eksempel 1: +6 og -6
Tallet +6 er repræsenteret som det samme som det binære tal. For at repræsentere begge tal tager vi 5-bit registeret.
Så +6 er repræsenteret i 5-bit registeret som 0 0110.
-6 er repræsenteret i 5-bit registeret på følgende måde:
- +6=0 0110
- Find 1'erens komplement af tallet 0 0110, dvs. 1 1001. Her betegner MSB, at et tal er et negativt tal.
Her henviser MSB til den mest signifikante bit, og LSB betegner den mindst signifikante bit.
Eksempel 2: +120 og -120
Tallet +120 er repræsenteret som det samme som det binære tal. For at repræsentere begge tal, tag 8-bit registeret.
Så +120 er repræsenteret i 8-bit registeret som 0 1111000.
-120 er repræsenteret i 8-bit registeret på følgende måde:
- +120=0 1111000
- Find nu 1'erens komplement af tallet 0 1111000, dvs. 1 0000111. Her angiver MSB, at tallet er det negative tal.