Computer is a device that makes our work easy. Computer is a device that helps us to complete our task easily and speedily.
Computer doesn’t have a brain like human beings. We have to give them instructions to what to do when a particular situation arises. We have to tell them everything from what to expect for data(what type of data), how to process it(how to perform calculations) to where to store the data.
We humans, understand language that is composed of words which further is composed of letters. But, the computers doesn’t understand our language nor the words like “hello, goodmorning, discipline, etc”. They only understand binary language whose vocabulary contains only two letters or states or symbols i.e. 0 and 1, True and False, On and off.
To maintain the states transistors are used.
- Transistors are tiny device that are used to store 2 values 1 and 0 or on and off.
- If the transistor is on we say that it has a value 1, and if it is off the valve is 0.
For example, a memory chip contains hundreds of millions or even billions of transistors, each of which can be switched on or off individually. As transistor can store 2 distinct values, we can have millions of different values stored on a memory chip consisting entirely of 0’s and 1’s.
But how a transistor get its value ?
When a very little amount of electric current passes through transistor it maintains the state of 1 and when there is no electric current then the transistor has the state of 0.
Then how it’s all connected to computer ?
This 0’s and 1’s forms the building block of computer. With the combinations of 0 and 1 we create a whole new language
For example, 0 can be written as 0,
1 as 1 2 as 10 3 as 11 4 as 100 5 as 101 a as 01100001 A as 01000001 s as 01110011 U as 01010101
01001000 01100101 01101100 01101100 01101111
Hello World! as,
01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100 00100001
And so on…
So now the question arises how can a human remember this code? It seems impossible!
Well we humans can do everything that we desire and this code can be remembered very easily but we don’t have to remember. We just have to use our language and the software (also built by human) converts our normal letters into the binary language.
What is software ?
Software is a set of instructions that tells the computer what to do, when to do, and how to do. Example are, paint that we use in Microsoft, WhatsApp and games, all are the types of different software.
Suppose we want to add 2 number and want to know what 2 + 2 is 4. Then we must give the computer instructions,
- Step-1: take 2 value.
- Step-2: store that 2 value
- Step-3: add 2 value by using + operator
- Step-4: save the answer
Separate instructions are provided for the + operator so the computer knows how to do addition when it encounters + sign.
So who converts this code? Instead of who we can ask what converts the code?
And answer to that question is a software called interpreter that interprets our language code into binary code. Interpreter converts our code into machine language that can be understood by computer.
Now the question is how we give our input ?
We give our input with the use of hardware for example like scanner, keyboard, mouse(not the one that eats cheese).
When we give input through hardware, the software interprets it into machine language and then it is processed and our output is shown.
If we want to display letter ‘A’ on screen we first will open notepad. Then we will press Capslock key or shift key to make letter capital, after that we will press letter ‘a’.
And our screen will show the letter ‘A’.
Under the hood process:
When we pressed the capslock or shift key the software tells that whatever following this should be printed on the screen and after we have pressed the letter a which is small letter, the software first converts it into binary like it had converted the shift or capslock key and then after the computer understands it prints A on the screen.
- Understanding Character Encoding
- Understanding ReDoS Attack
- Understanding Augmented Reality
- Understanding Logistic Regression
- Understanding Search Engines
- Understanding Tensor Processing Units
- Understanding Digital Rights Management
- Understanding Lvalues, PRvalues and Xvalues in C/C++ with Examples
- Understanding Code Reuse and Modularity in Python 3
- Understanding Data Attribute Types | Qualitative and Quantitative
- Computer Organization | Basic Computer Instructions
- Differences between Computer Architecture and Computer Organization
- Computer Organization | Performance of Computer
- Lex program to implement a simple Calculator
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.