Complements of a binary numbers
1's Complement vs 2's Complement
Complements
are used in digital computers in order to simply the subtraction operation and
for the logical manipulations. For the Binary number (base-2) system, there are
two types of complements: 1’s complement and 2’s complement.
1’s Complement of a Binary Number:
There
is a simple algorithm to convert a binary number into 1’s complement. To get
1’s complement of a binary number, simply invert the given number.
2’s Complement of a Binary Number:
There
is a simple algorithm to convert a binary number into 2’s complement. To get
2’s complement of a binary number, simply invert the given number and add 1 to
the least significant bit (LSB) of given result.
Differences between 1’s complement and 2’s complement
These
differences are given as following below:
1’s complement |
2’s complement |
To
get 1’s complement of a binary number, simply invert the given number.
|
To
get 2’s complement of a binary number, simply invert the given number and add
1 to the least significant bit (LSB) of given result.
|
1’s
complement of binary number 110010 is 001101
|
2’s
complement of binary number 110010 is 001110
|
Simple
implementation which uses only NOT gates for each input bit.
|
Uses
NOT gate along with full adder for each input bit.
|
Can
be used for signed binary number representation but not suitable as ambiguous
representation for number 0.
|
Can
be used for signed binary number representation and most suitable as
unambiguous representation for all numbers.
|
0
has two different representation one is -0 (e.g., 1 1111 in five bit
register) and second is +0 (e.g., 0 0000 in five bit register).
|
0
has only one representation for -0 and +0 (e.g., 0 0000 in five bit
register). Zero (0) is considered as always positive (sign bit is 0)
|
For
k bits register, positive largest number that can be stored is (2(k-1)-1) and
negative lowest number that can be stored is -(2(k-1)-1).
|
For
k bits register, positive largest number that can be stored is (2(k-1)-1) and
negative lowest number that can be stored is -(2(k-1)).
|
end-around-carry-bit addition occurs in 1’s complement arithmetic operations.
It added to the LSB of result.
|
end-around-carry-bit addition does not occur in 2’s complement arithmetic
operations. It is ignored.
|
1’s
complement arithmetic operations are not easier than 2’s complement because
of addition of end-around-carry-bit.
|
2’s
complement arithmetic operations are much easier than 1’s complement because
of there is no addition of end-around-carry-bit.
|
Sign
extension is used for converting a signed integer from one size to another.
|
Sign
extension is used for converting a signed integer from one size to another.
|
Comments
Post a Comment