General Computer Science (Chapter 1 ) : Number System
For any type of consultation, query or doubt. You may contact to the following: (+91) 9804 436 193 debabrataguha20@gmail.com
You will get all the exercise in the Facebook group https://www.facebook.com/groups/331231161093613/
First thing I want to tell you that this chapter will help you to understand the core logic of computer science by heart. But if you are here only to score the marks, then your academic book will be best. But who want both, I will suggest them to understand the logic first , then go through your academic book.
From the ancient age , when people could not talk , they wished to communicate between themselves by someway. Either by making some sounds or by drawing something. Just imagine what will happen if we stop talking suddenly. So finally when human invented some scripts in various corners of the world, they felt necessity to invent some numbers as well. Currently there are few thousands of languages exist in the world. Many of them are already lost. So imagine, our numbers also look different in different languages.
In Chinese
In hindi
In Arabic
You can also create your own number system by assigning each digit to some symbols or drawings or icons. In my childhood days I created my own number system to store my password, girlfriends phone numbers etc. 😊 It was somewhat like below:
…….. and so on ….
So how many symbols you have to imagine to create your number system. Most of the time, I got the answer as ten. Meaning I have to assign ten different icons for the digits from Zero to Nine.
So, 10 will be represented as
11 will be represented as
12 will be represented as
We do the same in most of the languages. The common factor is that in most of the languages we have assigned 10 different icons for the digits from zero to nine.
Like in English we have defined only 10 different icons for the digits zero to nine like below:
So whenever I will require the number next to nine. I will reuse the icons for one and zero and make it “10” . So if you can think something beyond your book, then you will feel that we can create all the millions and billions of numbers using these ten icons only. So I can also create the million and billions of numbers using my number system as well, or in hindi, arabic number systems aswell.
But the common thing is we just need to invent ten different icons. That is why these number systems are called “decimal number system” or “number system having base 10”.
Number systems with more than 10 icons :
Not all human number systems use ten icons only. If you can remember roman numbers. It is a bit different like below:
In Chinese and Japanese number systems also, you will get more than ten icons.
Topic 1: Number systems used by computer
I am sure that everyone of you know that computer only understands zero and one. So my question then to you is why only zero and one?? If computer is able to understand 0 and 1 , then why not 2,3,4,5 .. 9 ? Actually computer does not understand 0 and 1 aswell.
It is only OFF and ON. OFF means “no current/electricity” and ON means “current/electricity is there”.
So, 1001001 means ONOFFOFFONOFFOFFON
This number system is called as “Binary number systems” or “ Number system with base 2”
In decimal, to express ten , we use “1” and “0”. Because we do not have any specific icon for “ten”. Same here, we do not have any specific icon for “two” , so we use “1” and “0” to represent 2..
In both the number systems “Decimal” and “Binary”, If we have already completed all single digit characters, then we increase the count of digits to define the new numbers. Please follow the below chart:
Numbers | Decimal | Binary |
Zero |
0
|
0
|
One |
1
|
1
|
Two |
2
|
10
|
Three |
3
|
11
|
Four |
4
|
100
|
Five |
5
|
101
|
Six |
6
|
110
|
Seven |
7
|
111
|
Eight |
8
|
1000
|
Nine |
9
|
1001
|
Ten |
10
|
1010
|
Eleven |
11
|
1011
|
Twelve |
12
|
1100
|
Thirteen |
13
|
1101
|
Fourteen |
14
|
1110
|
Fifteen |
15
|
1111
|
Sixteen |
16
|
10000
|
Seventeen |
17
|
10001
|
Eighteen |
18
|
10010
|
Nineteen |
19
|
10011
|
Twenty |
20
|
10100
|
Twenty one |
21
|
10101
|
…. | … | …. |
Ninetynine |
99
|
1100011
|
Hundred |
100
|
1100100
|
Hundred and one |
101
|
1100101
|
Look carefully, whenever we are shortage with the digits, we are increasing the digit count. In binary “11” , we have used all the 2 digit combination. So started using 3rd digit and made it “100”.
Similarly in case of Decimal “99” , we have used all the 2 digit combinations, so we started using a 3 digit number from “100”.
So it is really tough or impossible to remember those binary numbers. So there is a mathematical way to convert a decimal number into binary.
Topic 1.1: Mathematical way to convert Decimal to Binary :
Process to convert decimal to binary is very simple.
Step 1: Need to divide the decimal number by 2
Step 2: Store the remainders
Step 3: repeat these steps until the number becomes zero
Step 4: Collect the remainders in reverse order.
This mathematical process will be clear if we take an example:
Example 1.1:
Here we are converting decimal 19 to binary
I am sure that you are stronger than me in mathematics. For the last time I have used mathematics in my college life. Here you just need to divide a number by 2 everytime and collect the remainders. Most important is to collect the remainders in the reverse order.
So the answer is, (19)10=(10011)2
Example 1.2:
Follow another example of conversion of decimal 98 to binary.
Or, (98)10 = (?)2
So as a result, (98)10=(1100010)2
Some logical people who loves to think, they used to say that we are dividing the decimal number by 2 , only because of we need 1 and 0. Means if you divide a number by 2 , then you will always get remainders as 1 and 0. That is the reason for choosing 2 as divisor in all the mathematics related to “binary”.
Topic 2: Octal Number system
In Octal number system, people only use 8 numbers (zero to seven, 0 -7).
Numbers | Decimal | Binary | Octal |
Zero |
0
|
0
|
0
|
One |
1
|
1
|
1
|
Two |
2
|
10
|
2
|
Three |
3
|
11
|
3
|
Four |
4
|
100
|
4
|
Five |
5
|
101
|
5
|
Six |
6
|
110
|
6
|
Seven |
7
|
111
|
7
|
Eight |
8
|
1000
|
10
|
Nine |
9
|
1001
|
11
|
Ten |
10
|
1010
|
12
|
Eleven |
11
|
1011
|
13
|
Twelve |
12
|
1100
|
14
|
Thirteen |
13
|
1101
|
15
|
Fourteen |
14
|
1110
|
16
|
Fifteen |
15
|
1111
|
17
|
Sixteen |
16
|
10000
|
20
|
Seventeen |
17
|
10001
|
21
|
Eighteen |
18
|
10010
|
22
|
Nineteen |
19
|
10011
|
23
|
Twenty |
20
|
10100
|
24
|
Twenty one |
21
|
10101
|
25
|
…. | … | …. | …. |
Ninetynine |
99
|
1100011
|
143
|
Hundred |
100
|
1100100
|
144
|
Hundred and one |
101
|
1100101
|
145
|
Now again it is not possible to remember all those Octal number, so we need to calculate the octal number in a similar way like previous. So if you are clever enough , you can now guess the number by which I will divide the decimal numbers. Yes.. It is 8 , because if we divide any number with 8 , then only we will get remainders 0 to 7. So let us choose the same numbers again as example
Example 2.1:
That means (19)10 = (23)8
Example 2.2:
that means (98)10 = (142)8
Topic 3: Hexadecimal Number systems
In Hexa-Decimal number system, base is 16. It is 0-9, and then for the rest of the numbers they use alphabets from A-E.
Numbers | Decimal | Binary | Octal | HexaDecimal |
Zero |
0
|
0
|
0
|
0
|
One |
1
|
1
|
1
|
1
|
Two |
2
|
10
|
2
|
2
|
Three |
3
|
11
|
3
|
3
|
Four |
4
|
100
|
4
|
4
|
Five |
5
|
101
|
5
|
5
|
Six |
6
|
110
|
6
|
6
|
Seven |
7
|
111
|
7
|
7
|
Eight |
8
|
1000
|
10
|
8
|
Nine |
9
|
1001
|
11
|
9
|
Ten |
10
|
1010
|
12
|
A
|
Eleven |
11
|
1011
|
13
|
B
|
Twelve |
12
|
1100
|
14
|
C
|
Thirteen |
13
|
1101
|
15
|
D
|
Fourteen |
14
|
1110
|
16
|
E
|
Fifteen |
15
|
1111
|
17
|
F
|
Sixteen |
16
|
10000
|
20
|
10
|
Seventeen |
17
|
10001
|
21
|
11
|
Eighteen |
18
|
10010
|
22
|
12
|
Nineteen |
19
|
10011
|
23
|
13
|
Twenty |
20
|
10100
|
24
|
14
|
Twenty one |
21
|
10101
|
25
|
15
|
…. | … | …. | …. | …. |
Ninetynine |
99
|
1100011
|
143
|
63
|
Hundred |
100
|
1100100
|
144
|
64
|
Hundred and one |
101
|
1100101
|
145
|
65
|
Hundred and Two |
102
|
1100110
|
146
|
66
|
Hundred and three |
103
|
1100111
|
147
|
67
|
Hundred and four |
104
|
1101000
|
150
|
68
|
Hundred and five |
105
|
1101001
|
151
|
69
|
Hundred and six |
106
|
1101010
|
152
|
6A
|
Hundred and seven |
107
|
1101011
|
153
|
6B
|
Hundred and eight |
108
|
1101100
|
154
|
6C
|
Hundred and nine |
109
|
1101101
|
155
|
6D
|
Hundred and ten |
110
|
1101110
|
156
|
6E
|
Hundred and eleven |
111
|
1101111
|
157
|
6F
|
Hundred and twelve |
112
|
1110000
|
160
|
70
|
Let’s take some examples
Example 3.1:
means (19)10 = (13)16
Example 3.2:
means (98)10=(62)16
Example 3.3:
If you check the list above,
10 is represented by A
11 is represented by B
12 by C
13 by D
14 by E
15 by F
So (110)10=(6E)16
Topic 4: Return back to Decimal
We can consider our decimal number as the best one and as the top mountain like the below picture.
So we have already converted Decimal number to other number systems.. as we can see in the picture above , till now, we always went down. So now what will happen if we want to go up. Means now we want to convert a Hexa number into Decimal or an Octal number into Decimal or a Binary number into Decimal. So now if we want to go up, we need to use multiplication.
First we can start from Binary to Decimal.
Example 4.1:
(10011)2=(?)10
The process of conversion is like below:
1 0 0 1 1
x x x x x24 23 22 21 20
______________________
= 16 +0 +0 +2 +1
= 19
So what we have done here? As “Binary” is involved , we are using “2” everywhere.
So for the digit in 1st decimal place we use 2 to the power 0, that is 1 for multiplication
So for the digit in 2nd decimal place we use 2 to the power 1, that is 2 for multiplication
So for the digit in 3rd decimal place we use 2 to the power 2, that is 4 for multiplication
So for the digit in 4th decimal place we use 2 to the power 3, that is 8 for multiplication
So for the digit in 5th decimal place we use 2 to the power 4, that is 16 for multiplication
So after multiplication if we add all the results, we will get answer as 19.
Example 4.2:
Let’s take another example:
(1100010)2=(?)10
The process of conversion is like below:
1 1 0 0 0 1 0
x x x x x x x26 25 24 23 22 21 20
______________________
= 64+32+0 +0 +0 +2 +0
= 98
So what we have done here? As “Binary” is involved , we are using 2 everywhere.
So for the digit in 1st decimal place we use 2 to the power 0, that is 1 for multiplication
So for the digit in 2nd decimal place we use 2 to the power 1, that is 2 for multiplication
So for the digit in 3rd decimal place we use 2 to the power 2, that is 4 for multiplication
So for the digit in 4th decimal place we use 2 to the power 3, that is 8 for multiplication
So for the digit in 5th decimal place we use 2 to the power 4, that is 16 for multiplication
So for the digit in 6th decimal place we use 2 to the power 5, that is 32 for multiplication
So for the digit in 7th decimal place we use 2 to the power 6, that is 64 for multiplication
So after multiplication if we add all the results, we will get answer as 98.
Topic 5: Octal to Decimal
So now we will convert from Octal to Decimal. So here the base will be 8 as expected. We will use 8 everywhere. Rest of the logics are same.
Example 5.1:
(23)8=(?)10
The process of conversion is like below:
2 3
x x 81 80
______________________
= 16+3
= 19
So for the digit in 1st decimal place we use 8 to the power 0, that is 1 for multiplication
So for the digit in 2nd decimal place we use 8 to the power 1, that is 8 for multiplication
So after multiplication if we add all the results, we will get answer as 19.
Example 5.2:
Let’s take another example:
(142)8=(?)10
The process of conversion is like below:
1 4 2
x x x 82 81 80
______________________
= 64+32+2
= 98
So what we have done here? As “Octal” is involved , we are using 8 everywhere.
So for the digit in 1st decimal place we use 8 to the power 0, that is 1 for multiplication
So for the digit in 2nd decimal place we use 8 to the power 1, that is 8 for multiplication
So for the digit in 3rd decimal place we use 8 to the power 2, that is 64 for multiplication
So after multiplication if we add all the results, we will get answer as 98.
Topic 6: HexaDecimal to Decimal:
So now we will convert from Hexadecimal to Decimal. So here the base will be 16 as expected. We will use 16 everywhere.
Example 6.1:
(6E)16=(?)10
The process of conversion is like below:
6 E
(14)x x
161 160
______________________
= 96+14
= 110
So for the digit in 1st decimal place we use 16 to the power 0, that is 1 for multiplication
So for the digit in 2nd decimal place we use 16 to the power 1, that is 16 for multiplication
So after multiplication if we add all the results, we will get answer as 110.
Example 6.2:
Let’s take another example:
(AFD)16=(?)10
The process of conversion is like below:
A F D
(10)
(15) (13)x x x
162 161 160
______________________
= 2560+240+13
= 2813
So what we have done here? As “Hexa-Decimal” is involved , we are using 16 everywhere.
So for the digit in 1st decimal place we use 16 to the power 0, that is 1 for multiplication
So for the digit in 2nd decimal place we use 16 to the power 1, that is 16 for multiplication
So for the digit in 3rd decimal place we use 16 to the power 2, that is 256 for multiplication
So after multiplication if we add all the results, we will get answer as 2813.
Topic 7: Moving from one Number system to another
Suppose I want to convert a binary number into HexaDecimal. How to do that?
The answer will be 2 stepped.
Step 1: Convert from hexadecimal to Decimal
Step 2: Convert from Decimal to Octal.
Example 7.1:
(100100)2=(?)16
1x25 + 0x24 + 0x23 + 1x22 + 0x21 + 0x20 = (36)10
Now need to convert decimal 36 to hexadecimal
So the answer is
(100100)2=(24)16
So by this way, we can covert from any number system to another.
Topic 8: Relation Among HexaDecimal, Octal & Binary
But there is a hidden relation between Octal and HexaDecimal. Binary is the bridge between them.
Short cut can be achieved by below 2 relations:
Relation 1: Each HEX digit can be directly converted into 4 digit binary numbers
Relation 2: Each Octal digit can be directly converted into 3 digit binary numbers
You can refer to the below list as we used before:
Decimal | Binary | Octal | HexaDecimal |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 8 | |
9 | 1001 | 9 | |
10 | 1010 | A | |
11 | 1011 | B | |
12 | 1100 | C | |
13 | 1101 | D | |
14 | 1110 | E | |
15 | 1111 | F |
But we have to be strict on the binary digit count. Octal should be a 3 digit binary number and Hexadecimal should be a 4 digit binary. Better to use the following table after doing a little modification.
Binary | Octal | Octal->Binary | HexaDecimal | HexaDecimal-->Binary |
0
|
0
|
000
|
0
|
0000
|
1
|
1
|
001
|
1
|
0001
|
10
|
2
|
010
|
2
|
0010
|
11
|
3
|
011
|
3
|
0011
|
100
|
4
|
100
|
4
|
0100
|
101
|
5
|
101
|
5
|
0101
|
110
|
6
|
110
|
6
|
0110
|
111
|
7
|
111
|
7
|
0111
|
1000
|
8
|
1000
|
||
1001
|
9
|
1001
|
||
1010
|
A
|
1010
|
||
1011
|
B
|
1011
|
||
1100
|
C
|
1100
|
||
1101
|
D
|
1101
|
||
1110
|
E
|
1110
|
||
1111
|
F
|
1111
|
Example 8.1:
(AB)16=(?)2
As per the above chart , A means 1010
B means 1011
So (AB)16=(10101011)2
Example 8.2:
(31)16=(?)2
As per the above chart , 3 means 0011
1 means 0001
So (31)16=(00110001)2
Example 8.3:
(10010)2=(?)16
As destination is Hexadecimal, Make the count of binary numbers to a multiple of 4 by adding initial zeroes.
00010010
= 0001 0010
= 1 2
So, (10010)2=(12)16
Example 8.4:
(10010)2=(?)8
As destination is Octal, Make the count of binary numbers to a multiple of 3 by adding initial zeroes.
010010
= 010 010
= 2 2
So, (10010)2=(22)8
Example 8.5:
(32)8=(?)2
3 means 011
2 means 010
So, (32)8=(11010)2
Example 8.6:
(70)8=(?)2
7 means 111
0 means 000
So, (70)8=(111000)2
Example 8.7:
Now if we want to directly conversion between Octal and Hexadecimal.
(6E)16=(?)8
Step1:
Convert each HexaDigit to a 4 digit binary number
6 E
0110 1110
Step 2:
Extract 3 digit Octal codes. You can add initial zeroes to make the number 3 digit.
So (6E)16 = (156)8
Example 8.8:
(AB)16=(?)8
A B
1010 1011
=10101011
= 010 101 011
= 253
So, (AB)16=(253)8
Example 8.9:
(217)8=(?)16
2 1 7
010 001 111 after converting each Octal digit to 3 digit binary number
=010001111 after merging them
=0001 0000 1111 after separating it out by 4 digits
= (1 0 F )16 After converting each 4 digits to HexaDecimal
So, (217)8=(10F)16
Example 8.10:
A B
1010 1011
=10101011
= 010 101 011
= 253
So, (AB)16=(253)8
Topic 9: Fractional value conversation
Let’s start with an example,
Example 9.1:
Now we are able to convert (14)10 to binary easily. But what about 14.325? If I ask to convert 14.325 into binary. The process is like below.
Step 1:
First we will convert 14 from decimal into binary as per previous process
(14)10 = (1110)2
Now to handle the point value. We will multiply the point value (that is .325) with 2 always. So each time we will take the whole number part (marked in red). Means the value in the left of decimal point. Check the same below:
.325 X 2 = 0.750 0
.750 X 2 = 1.50 1
.50 X 2 = 1.0 1
If it becomes zero, that means it is done.
So all together, 14.325 = 1110.011
Example 9.2:
But sometime it does not reach to zero. Like if I want to convert 14.6 into Binary?
.6 X 2 = 1.2 1
.2 X 2 = 0.4 0
.4 X 2 = 0.8 0
.8 X 2 = 1.6 1
.6 x 2 = 1.2 1
….
It again comes to .6 , that means the value will be repeated. It is similar like 4/3. The answer is never ending 1.333333333333333333 ….
Now it’s upto you to decide the number of digita you will take after the decimal point.
In a similar way, (14.6)10=(1110.1001)2 (taking 4 digit after point value)
Topic 10: Fractional value conversation from Binary to Decimal
If we start from the example below,
Example 10.1:
(1011.110)2=(?)10
For whole number part it will be like previous, but for the point value we it will be 2-1 , 2-2 , 2-3 and so on.. As you are better than me when it comes to mathematics, then you know the value for 2-1
Still who are having confusion,
2-1 means 1/21 = ½ = 0.5
2-2 means 1/22 = ¼ = 0.25
And so on ….
1 0 1 1 . 1
1 0
x x x x x x x 23 22 21 20 2-1 2-2 2-3
___________________________
= 8 +0 +2 +1 +.5 +.25 +0
= 11.75
So the answer is, (1011.110)2=(11.75)10
Example 10.2.
(11.0001)2 = (?)10
1 1 . 0 0 0 1
x x x x x x 21 20 2-1 2-2 2-3 2-4
___________________________
= 2 +1 + 0 + 0 +0 +.0625
= 3.0625
So the answer is (11.0001)2 = (3.0625)10
Topic 11: Fractional value conversation for Octal
Everything will be same as previous, just we need to use 8 everywhere instead of 2
Example 11.1:
(59.015625)10=(?)8
Step 1: for the integer part
Step 2: for the decimal part
.015625 X 8 = 0.125 0
.125 X 8 = 1.0 1
So the answer is (59.015625)10=(73.01)8
Example 11.2:
(52.15)8=(?)10
5 2 . 1 5
x x
x
x81 80 8-1 8-2
___________________________________________
40+2 + .125 +.078125
So the answer is, (52.15)8 = (42.203125)10
Topic 12: Fractional value conversation for HexaDecimal
Everything will be same as previous, just we need to use 8 everywhere instead of 2
Example 12.1:
(59.015625)10=(?)16
Step 1: for the integer part
Step 2: for the decimal part
.015625 X 16 = 0.25 0
.125 X 8 = 4.0 4
So the answer is (59.015625)10=(3B.04)8
Example 12.2:
(52.15)16=(?)10
5 2 . 1 5
x x x
x161 160 16-1 16-2
_________________________________
80+2 + .0625 +.00390625
So the answer is, (52.15)16 = (82.06640625)10
Topic 13: Create your own number system
You can skip this part. Because this will never be in your academic syllabus. If you are really interested on computer science, now you have the idea that we can create our own number systems now. We will take 3 cases as below:
Case 1:
We can create a number system with base 4 and we can give it any name. Suppose I am naming this as Debabrata Number system.
So the conversion will follow the same rules as previous , but all the calculation will be based on 4
Example 13.1:
(52)10=(?)4
So the answer will be, (52)10=(310)4
Example 13.2:
(203)4=(?)10
2 0 3
x x x
42 41 40
______
32+0+3
=35
So the answer is (203)4=(35)10
Case 2:
Now we can invent a number series of base 20 , let’s name it Guha Number system.
So the digits we will use be using are like below:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K
I am not going to give any mathematical example anymore, but all the calculations will be based on 20 here.
Case 3:
We can also invent a number system with base 39 say. Let’s name it as “Students Number System”
Unique digits we can use
0-9 (10 icons) ,A-Z (26 icons) and rest of the 3 icons will be invented by us say ψφϪ
So here all the calculations will be based on 39..
Hope everything is clear now related to number system. In case of any doubt, you can reach out to me. You can now start solving the exercise from the facebook album “General Computer Science Exercise”.
Comments
Post a Comment