Understanding Number Systems in Computing
Understanding Number Systems in Computing
In a digital system, the system can understand only the optional number system. In these
systems, digits symbols are used to represent different values, depending on the index from
which it settled in the number system.
In simple terms, for representing the information, we use the number system in the digital
system.
1. The digit
2. The index, where the digit is present in the number.
3. Finally, the base numbers, the total number of digits available in the number system.
Note: When the number system represents a digit from 0 - 9, the base of the number will
be 10.
Characteristics:
Examples:
The decimal numbers are used in our day to day life. The decimal number system contains
ten digits from 0 to 9(base 10). Here, the successive place value or position, left to the
decimal point holds units, tens, hundreds, thousands, and so on.
The position in the decimal number system specifies the power of the base (10). The 0 is the
minimum value of the digit, and 9 is the maximum value of the digit. For example, the
decimal number 2541 consist of the digit 1 in the unit position, 4 in the tens position, 5 in
the hundreds position, and 2 in the thousand positions and the value will be written as:
The octal number system has base 8(means it has only eight digits from 0 to 7). There are
only eight possible digit values to represent a number. With the help of only three bits, an
octal number is represented. Each set of bits has a distinct value between 0 and 7.
Characteristics:
Examples:
It is another technique to represent the number in the digital system called the hexadecimal
number system. The number system has a base of 16 means there are total 16 symbols(0, 1,
2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) used for representing a number. The single-bit
representation of decimal values10, 11, 12, 13, 14, and 15 are represented by A, B, C, D, E,
and F. Only 4 bits are required for representing a number in a hexadecimal number. Each set
of bits has a distinct value between 0 and 15. There are the following characteristics of the
octal number system:
Characteristics:
Examples:
As, we have four types of number systems so each one can be converted into the remaining
three systems. There are the following conversions possible in Number System
The process of converting binary to decimal is quite simple. The process starts from
multiplying the bits of binary number with its corresponding positional weights. And lastly,
we add all those products.
Let's take an example to understand how the conversion is done from binary to decimal.
Example 1: (10110.001)2
We multiplied each bit of (10110.001)2 with its respective positional weight, and last we add
the products of all the bits with its weight.
(10110.001)2=(1×24)+(0×23)+(1×22)+(1×21)+(0×20)+
(0×2-1)+(0×2-2)+(1×2-3)
(10110.001)2=(1×16)+(0×8)+(1×4)+(1×2)+(0×1)+
(0×1⁄2)+(0×1⁄4)+(1×1⁄8)
(10110.001)2=16+0+4+2+0+0+0+0.125
(10110.001)2=(22.125 )10
The base numbers of binary and octal are 2 and 8, respectively. In a binary number, the pair
of three bits is equal to one octal digit. There are only two steps to convert a binary number
into an octal number which are as follows:
1. In the first step, we have to make the pairs of three bits on both sides of the binary
point. If there will be one or two bits left in a pair of three bits pair, we add the
required number of zeros on extreme sides.
2. In the second step, we write the octal digits corresponding to each pair.
Example 1: (111110101011.0011)2
1. Firstly, we make pairs of three bits on both sides of the binary point.
On the right side of the binary point, the last pair has only one bit. To make it a complete
pair of three bits, we added two zeros on the extreme side.
(111110101011.0011)2=(7653.14)8
The base numbers of binary and hexadecimal are 2 and 16, respectively. In a binary number,
the pair of four bits is equal to one hexadecimal digit. There are also only two steps to
convert a binary number into a hexadecimal number which are as follows:
1. In the first step, we have to make the pairs of four bits on both sides of the binary
point. If there will be one, two, or three bits left in a pair of four bits pair, we add the
required number of zeros on extreme sides.
2. In the second step, we write the hexadecimal digits corresponding to each pair.
Example 1: (10110101011.0011)2
1. Firstly, we make pairs of four bits on both sides of the binary point.
On the left side of the binary point, the first pair has three bits. To make it a complete pair
of four bits, add one zero on the extreme side.
(011110101011.0011)2=(7AB.3)16
1. In the first step, we perform the division operation on integer and successive part
with base 'r'. We will list down all the remainders till the quotient is zero. Then we
find out the remainders in reverse order for getting the integer part of the
equivalent number of base 'r'. In this, the least and most significant digits are
denoted by the first and the last remainders.
2. In the next step, the multiplication operation is done with base 'r' of the fractional
and successive fraction. The carries are noted until the result is zero or when the
required number of the equivalent digit is obtained. For getting the fractional part of
the equivalent number of base 'r', the normal sequence of carrying is considered.
For converting decimal to binary, there are two steps required to perform, which are as
follows:
1. In the first step, we perform the division operation on the integer and the successive
quotient with the base of binary(2).
2. Next, we perform the multiplication on the integer and the successive quotient with
the base of binary(2).
Example 1: (152.25)10
Step 1:
Divide the number 152 and its successive quotients with base 2.
(152)10=(10011000)2
Step 2:
Now, perform the multiplication of 0.27 and successive fraction with base 2.
(0.25)10=(.01)2
For converting decimal to octal, there are two steps required to perform, which are as
follows:
1. In the first step, we perform the division operation on the integer and the successive
quotient with the base of octal(8).
2. Next, we perform the multiplication on the integer and the successive quotient with
the base of octal(8).
Example 1: (152.25)10
Step 1:
Divide the number 152 and its successive quotients with base 8.
(152)10=(230)8
Step 2:
Now perform the multiplication of 0.25 and successive fraction with base 8.
(0.25)10=(2)8
For converting decimal to hexadecimal, there are two steps required to perform, which are
as follows:
1. In the first step, we perform the division operation on the integer and the successive
quotient with the base of hexadecimal (16).
2. Next, we perform the multiplication on the integer and the successive quotient with
the base of hexadecimal (16).
Example 1: (152.25)10
Step 1:
Divide the number 152 and its successive quotients with base 8.
(152)10=(98)16
Step 2:
Now perform the multiplication of 0.25 and successive fraction with base 16.
The process of converting octal to decimal is the same as binary to decimal. The process
starts from multiplying the digits of octal numbers with its corresponding positional weights.
And lastly, we add all those products.
Let's take an example to understand how the conversion is done from octal to decimal.
Example 1: (152.25)8
Step 1:
We multiply each digit of 152.25 with its respective positional weight, and last we add the
products of all the bits with its weight.
(152.25)8=(1×82)+(5×81)+(2×80)+(2×8-1)+(5×8-2)
(152.25)8=64+40+2+(2×1⁄8)+(5×1⁄64)
(152.25)8=64+40+2+0.25+0.078125
(152.25)8=106.328125
The process of converting octal to binary is the reverse process of binary to octal. We write
the three bits binary code of each octal number digit.
Example 1: (152.25)8
(152.25)8=(001101010.010101)2
1. In the first step, we will find the binary equivalent of number 25.
2. Next, we have to make the pairs of four bits on both sides of the binary point. If
there will be one, two, or three bits left in a pair of four bits pair, we add the
required number of zeros on extreme sides and write the hexadecimal digits
corresponding to each pair.
Example 1: (152.25)8
Step 1:
(152.25)8=(001101010.010101)2
Step 2:
1. Now, we make pairs of four bits on both sides of the binary point.
0 0110 1010.0101 01
On the left side of the binary point, the first pair has only one digit, and on the right side, the
last pair has only two-digit. To make them complete pairs of four bits, add zeros on extreme
sides.
The process of converting hexadecimal to decimal is the same as binary to decimal. The
process starts from multiplying the digits of hexadecimal numbers with its corresponding
positional weights. And lastly, we add all those products.
Let's take an example to understand how the conversion is done from hexadecimal to
decimal.
Example 1: (152A.25)16
Step 1:
We multiply each digit of 152A.25 with its respective positional weight, and last we add the
products of all the bits with its weight.
(152A.25)16=(1×163)+(5×162)+(2×161)+(A×160)+(2×16-1)+(5×16-2)
(152A.25)16=(1×4096)+(5×256)+(2×16)+(10×1)+(2×16-1)+(5×16-2)
(152A.25)16=4096+1280+32+10+(2×1⁄16)+(5×1⁄256)
(152A.25)16=5418+0.125+0.125
(152A.25)16=5418.14453125
Example 1: (152A.25)16
For converting hexadecimal to octal, there are two steps required to perform, which are as
follows:
1. In the first step, we will find the binary equivalent of the hexadecimal number.
2. Next, we have to make the pairs of three bits on both sides of the binary point. If
there will be one or two bits left in a pair of three bits pair, we add the required
number of zeros on extreme sides and write the octal digits corresponding to each
pair.
Example 1: (152A.25)16
Step 1:
Step 2:
3. Then, we make pairs of three bits on both sides of the binary point.
(001010100101010.001001010)2=(12452.112)8
The gray code is a very light weighted code because it doesn't depend on the value of the
digit specified by the position. This code is also called a cyclic variable code as the transition
of one value to its successive value carries a change of one bit only.
The prefix and reflect method are recursively used to generate the Gray code of a number.
For generating gray code:
We can easily get an excess-3 code of a decimal number by simply adding 3 to each decimal
digit. And then we write the 4-bit binary number for each digit of the decimal number. We
can find the excess-3 code of the given binary number by using the following steps:
We can also add 0011 in each 4-bit BCD code of the decimal number for getting excess-3
code.
In excess-3 code, the codes 1111 and 0000 are never used for any decimal digit. Let's take
some examples of Excess-3 code.
Digit BCD
3 0011
1 0001
Digit BCD
8 1000
1 0001
6 0110
1 0001
3) So, the excess-3 code of the decimal number 81.61 is 1011 0100.1001 0100
Self-complementary property
Note: if we perform the 1's complement of excess-3 of a decimal number, it will be equal
to the excess-3 code of the 9's complement of that decimal number.
For example: If we perform 1's complement of the excess-3 code 1000(decimal 5),
complement value will be 0111, which is the excess-3 code of 9's complement of 5, i.e.,
4(0111).
It is very easy to represent positive and negative numbers in our day to day life. We
represent the positive numbers without adding any sign before them and the negative
number with - (minus) sign before them. But in the digital system, it is not possible to use
negative sign before them because the data is in binary form in digital computers. For
representing the sign in binary numbers, we require a special notation.
Unsigned Numbers
As we already know, the unsigned numbers don't have any sign for representing negative
numbers. So the unsigned numbers are always positive. By default, the decimal number
representation is positive. We always assume a positive sign in front of each decimal digit.
There is no sign bit in unsigned binary numbers so it can only represent its magnitude. In
zero and one, zero is an unsigned binary number. There is only one zero (0) in this
representation, which is always positive. Because of one unique binary equivalent form of a
number in unsigned number representation, it is known as unambiguous representation
technique. The range of the unsigned binary numbers starts from 0 to (2 n-1).
We will change this decimal number into binary, which has the only magnitude of the given
name.
So the binary number of (102)10 is (1100110)2, a 7-bit magnitude of the decimal number
102.
Signed Numbers
The signed numbers have a sign bit so that it can differentiate positive and negative integer
numbers. The signed binary number technique has both the sign bit and the magnitude of
the number. For representing the negative decimal number, the corresponding symbol in
front of the binary number will be added.
The signed numbers are represented in three ways. The signed bit makes two possible
representations of zero (positive (0) and negative (1)), which is an ambiguous
representation. The third representation is 2's complement representation in which no
double representation of zero is possible, which makes it unambiguous representation.
There are the following types of representation of signed binary numbers:
1. Sign-Magnitude form
In this form, a binary number has a bit for a sign symbol. If this bit is set to 1, the
number will be negative else the number will be positive if it is set to 0. Apart from
this sign-bit, the n-1 bits represent the magnitude of the number.
2. 1's Complement
By inverting each bit of a number, we can obtain the 1's complement of a number.
The negative numbers can be represented in the form of 1's complement. In this
form, the binary number also has an extra bit for sign representation as a sign-
magnitude form.
3. 2's Complement
By inverting each bit of a number and adding plus 1 to its least significant bit, we can
obtain the 2's complement of a number. The negative numbers can also be
represented in the form of 2's complement. In this form, the binary number also has
an extra bit for sign representation as a sign-magnitude form.
1's complement
In number representation techniques, the binary number system is the most used
representation technique in digital electronics. The complement is used for representing the
negative decimal number in binary form. Different types of complement are possible of the
binary number, but 1's and 2's complements are mostly used for binary numbers. We can
find the 1's complement of the binary number by simply inverting the given number. For
example, 1's complement of binary number 1011001 is 0100110. We can find the 2's
complement of the binary number by changing each bit(0 to 1 and 1 to 0) and adding 1 to
the least significant bit. For example, 2's complement of binary number 1011001 is
(0100110)+1=0100111.
For finding 1's complement of the binary number, we can implement the logic circuit also by
using NOT gate. We use NOT gate for each bit of the binary number. So, if we want to
implement the logic circuit for 5-bit 1's complement, five NOT gates will be used.
Example 1: 11010.1101
For finding 1's complement of the given number, change all 0's to 1 and all 1's to 0. So the
1's complement of the number 11010.1101 comes out 00101.0010.
Example 2: 100110.1001
For finding 1's complement of the given number, change all 0's to 1 and all 1's to 0. So, the
1's complement of the number 100110.1001 comes out 011001.0110.
In signed binary number representation, we can represent both positive and negative
numbers. For representing the positive numbers, there is nothing to do. But for
representing negative numbers, we have to use 1's complement technique. For
representing the negative number, we first have to represent it with a positive sign, and
then we find the 1's complement of it.
Let's take an example of a positive and negative number and see how these numbers are
represented.
Example 1: +6 and -6
The number +6 is represented as same as the binary number. For representing both
numbers, we will take the 5-bit register.
1. +6=0 0110
2. Find the 1's complement of the number 0 0110, i.e., 1 1001. Here, MSB denotes that
a number is a negative number.
Here, MSB refers to Most Significant Bit, and LSB denotes the Least Significant Bit.
The number +120 is represented as same as the binary number. For representing both
numbers, take the 8-bit register.
1. +120=0 1111000
2. Now, find the 1's complement of the number 0 1111000, i.e., 1 0000111. Here, the
MSB denotes the number is the negative number.
2's complement
Just like 1's complement, 2's complement is also used to represent the signed binary
numbers. For finding 2's complement of the binary number, we will first find the 1's
complement of the binary number and then add 1 to the least significant bit of it.
For example, if we want to calculate the 2's complement of the number 1011001, then
firstly, we find the 1's complement of the number that is 0100110 and add 1 to the LSB. So,
by adding 1 to the LSB, the number will be (0100110)+1=0100111. We can also create the
logic circuit using OR, AND, and NOT gates. The logic circuit for finding 2's complement of
the 5-bit binary number is as follows:
Example 1: 110100
For finding 2's complement of the given number, change all 0's to 1 and all 1's to 0. So the
1's complement of the number 110100 is 001011. Now add 1 to the LSB of this number, i.e.,
(001011)+1=001100.
Example 2: 100110
For finding 1's complement of the given number, change all 0's to 1 and all 1's to 0. So, the
1's complement of the number 100110 is 011001. Now add one the LSB of this number, i.e.,
(011001)+1=011010.
2's complement is used for representing signed numbers and performing arithmetic
operations such as subtraction, addition, etc. The positive number is simply represented as a
magnitude form. So there is nothing to do for representing positive numbers. But if we
represent the negative number, then we have to choose either 1's complement or 2's
complement technique. The 1's complement is an ambiguous technique, and 2's
complement is an unambiguous technique. Let's see an example to understand how we can
calculate the 2's complement in signed binary number representation.
Example 1: +6 and -6
The number +6 is represented as same as the binary number. For representing both
numbers, take the 5-bit register.
1. +6=0 0110
2. Now, find the 1's complement of the number 0 0110, i.e. 1 1001.
3. Now, add 1 to its LSB. When we add 1 to the LSB of 11001, the newly generated
number comes out 11010. Here, the sign bit is one which means the number is the
negative number.
Example 2: +120 and -120
The number +120 is represented as same as the binary number. For representing both
numbers, take the 8-bit register.
1. +120=0 1111000
2. Now, find the 1's complement of the number 0 1111000, i.e. 1 0000111. Here, the
MSB denotes the number is the negative number.
3. Now, add 1 to its LSB. When we add 1 to the LSB of 1 0000111, the newly generated
number comes out 1 0001000. Here, the sign bit is one, which means the number is
the negative number.
9's and 10's Complement
If the number is binary, then we use 1's complement and 2's complement. But in case, when
the number is a decimal number, we will use the 9's and 10's complement. The 10's
complement is obtained from the 9's complement of the number, and we can also find the
9's and 10's complement using the r's and (r-1)'s complement formula.
9's Complement
The 9's complement is used to find the subtraction of the decimal numbers. The 9's
complement of a number is calculated by subtracting each digit of the number by 9. For
example, suppose we have a number 1423, and we want to find the 9's complement of the
number. For this, we subtract each digit of the number 1423 by 9. So, the 9's complement of
the number 1423 is 9999-1423= 8576.
With the help of the 9's complement, the process of subtraction is done in a much easier
way. Generally, we subtract the subtrahend from the minuend, but in a case when we
perform subtraction using 9's complement, there is no need to do the same.
For subtracting two numbers using 9's complement, we first have to find the 9's
complement of the subtrahend and then we will add this complement value with the
minuend. There are two possible cases when we subtract the numbers using 9's
complement.
For subtracting the smaller number from the larger number using 9's complement, we will
find the 9's complement of the subtrahend, and then we will add this complement value
with the minuend. By adding both these values, the result will come in the formation of
carry. At last, we will add this carry to the result obtained previously.
Case 2: When the subtrahend is greater than the minuend.
In this case, when we add the complement value and the minuend, the result will not come
in the formation of carry. This indicates that the number is negative, and for finding the final
result, we need to find the 9's complement of the result.
10's Complement
The 10's complement is also used to find the subtraction of the decimal numbers. The 10's
complement of a number is calculated by subtracting each digit by 9 and then adding 1 to
the result. Simply, by adding 1 to its 9's complement we can get its 10's complement value.
For example, suppose we have a number 1423, and we want to find the 10's complement of
the number. For this, we find the 9's complement of the number 1423 that is 9999-1423=
8576, and now we will add 1 to the result. So the 10's complement of the number 1423 is
8576+1=8577.
For subtracting two numbers using 10's complement, we first have to find the 10's
complement of the subtrahend, and then we will add this complement value with the
minuend. There are two possible cases when we subtract the numbers using 10's
complement.
For subtracting the smaller number from the larger number using 10's complement, we will
find the 10's complement of the subtrahend and then we will add this complement value
with the minuend. By adding both these values, the result will come in the formation of
carry. We ignore this carry and the remaining digits will be the answer.
Case 2: When the subtrahend is greater than the minuend.
In this case, when we add the complement value and the minuend, the result will not come
in the formation of carry. This indicates that the number is negative and for finding the final
result, we need to find the 10's complement of the result obtained by adding complement
value of subtrahend and minuend.
Addition and Subtraction using 1's
complement
In our previous section, we learned about different complements such as 1's complement,
2's complement, 9's complement, and 10's complement, etc.. In this section, we will learn to
perform the arithmetic operations such as addition and subtraction using 1's complement.
We can perform addition and subtraction using 1's, 2's, 9's, and 10's complement.
Case 1: Addition of the positive number with a negative number when the positive
number has a greater magnitude.
Initially, calculate the 1's complement of the given negative number. Sum up with the given
positive number. If we get the end-around carry 1, it gets added to the LSB.
1. First, find the 1's complement of the negative number 1001. So, for finding 1's
complement, change all 0 to 1 and all 1 to 0. The 1's complement of the number
1001 is 0110.
2. Now, add both the numbers, i.e., 1101 and 0110;
1101+0110=1 0011
3. By adding both numbers, we get the end-around carry 1. We add this end around
carry to the LSB of 0011.
0011+1=0100
Case 2: Adding a positive value with a negative value in case the negative number has a
higher magnitude.
Initially, calculate the 1's complement of the negative value. Sum it with a positive number.
In this case, we did not get the end-around carry. So, take the 1's complement of the result
to get the final result.
1. First find the 1's complement of the negative number 1110. So, for finding 1's
complement, we change all 0 to 1, and all 1 to 0. 1's complement of the number
1110 is 0001.
2. Now, add both the numbers, i.e., 1101 and 0001;
1101+0001= 1110
3. Now, find the 1's complement of the result 1110 that is the final result. So, the 1's
complement of the result 1110 is 0001, and we add a negative sign before the
number so that we can identify that it is a negative number.
In this case, first find the 1's complement of both the negative numbers, and then we add
both these complement numbers. In this case, we always get the end-around carry, which
get added to the LSB, and for getting the final result, we take the 1's complement of the
result.
1. Firstly find the 1's complement of the negative numbers 01101 and 01110. So, for
finding 1's complement, we change all 0 to 1, and all 1 to 0. 1's complement of the
number 01110 is 10001, and 01101 is 10010.
2. Now, we add both the complement numbers, i.e., 10001 and 10010;
10001+10010= 1 00011
3. By adding both numbers, we get the end-around carry 1. We add this end-around
carry to the LSB of 00011.
00011+1=00100
4. Now, find the 1's complement of the result 00100 that is the final answer. So, the 1's
complement of the result 00100 is 110111, and add a negative sign before the
number so that we can identify that it is a negative number.
We take 1's complement of subtrahend 00111, which comes out 11000. Now, sum them.
So,
10101+11000 =1 01101.
In the above result, we get the carry bit 1, so add this to the LSB of a given result, i.e.,
01101+1=01110, which is the answer.
We take 1's complement of subtrahend 10111, which comes out 01000. Now, add both of
the numbers. So,
10101+01000 =11101.
In the above result, we didn't get the carry bit. So calculate the 1's complement of the
result, i.e., 00010, which is the negative number and the final answer.
Addition and Subtraction using 2's
complement
In our previous section, we learned how we could perform arithmetic operations such as
addition and subtraction using 1's complement. In this section, we will learn to perform
these operations using 2's complement.
Case 1: Addition of the positive number with a negative number when the positive
number has a greater magnitude.
Initially find the 2's complement of the given negative number. Sum up with the given
positive number. If we get the end-around carry 1 then the number will be a positive
number and the carry bit will be discarded and remaining bits are the final result.
1. First, find the 2's complement of the negative number 1001. So, for finding 2's
complement, change all 0 to 1 and all 1 to 0 or find the 1's complement of the
number 1001. The 1's complement of the number 1001 is 0110, and add 1 to the LSB
of the result 0110. So the 2's complement of number 1001 is 0110+1=0111
2. Add both the numbers, i.e., 1101 and 0111;
1101+0111=1 0100
3. By adding both numbers, we get the end-around carry 1. We discard the end-around
carry. So, the addition of both numbers is 0100.
Case 2: Adding of the positive value with a negative value when the negative number has
a higher magnitude.
Initially, add a positive value with the 2's complement value of the negative number. Here,
no end-around carry is found. So, we take the 2's complement of the result to get the final
result.
1. First, find the 2's complement of the negative number 1110. So, for finding 2's
complement, add 1 to the LSB of its 1's complement value 0001.
0001+1=0010
2. Add both the numbers, i.e., 1101 and 0010;
1101+0010= 1111
3. Find the 2's complement of the result 1110 that is the final result. So, the 2's
complement of the result 1110 is 0001, and add a negative sign before the number
so that we can identify that it is a negative number.
In this case, first, find the 2's complement of both the negative numbers, and then we will
add both these complement numbers. In this case, we will always get the end-around carry,
which will be added to the LSB, and forgetting the final result, we will take the2's
complement of the result.
1. Firstly find the 2's complement of the negative numbers 01101 and 01110. So, for
finding 2's complement, we add 1 to the LSB of the 1's complement of these
numbers. 2's complement of the number 01110 is 10010, and 01101 is 10011.
2. We add both the complement numbers, i.e., 10001 and 10010;
10010+10011= 1 00101
3. By adding both numbers, we get the end-around carry 1. This carry is discarded and
the final result is the 2.s complement of the result 00101. So, the 2's complement of
the result 00101 is 11011, and we add a negative sign before the number so that we
can identify that it is a negative number.
We take 2's complement of subtrahend 00111, which is 11001. Now, sum them. So,
10101+11001 =1 01110.
In the above result, we get the carry bit 1. So we discard this carry bit and remaining is the
final result and a positive number.
10101+01001 =11110.
In the above result, we didn't get the carry bit. So calculate the 2's complement of the
result, i.e., 00010. It is the negative number and the final answer.