2. Complement
• Complement is the negative equivalent of a number.
• If we have a number N then complement of N will give us
another number which is equivalent to –N
• So if complement of N is M, then we can say M = -N
• So complement of M = -M = -(-N) = N
• So complement of complement gives the original number
3. Types of Complement
• For a number of base r, two types of complements can be found
1. r’s complement
2. (r-1)’s complement
• Definition:
If N is a number of base r having n digits then
o r’s complement of N = rn – N and
o (r-1)’s complement of N = rn-N-1
4. Example
• Suppose N = (3675)10
• So we can find two complements of this number. The 10’s
complement and the 9’s complement. Here n = 4
• 10’s complement of (3675) = 104 - 3675
= 6325
• 9’s complement of (3675) = 104 - 3675 -1
= 6324
5. Short cut way to find (r-1)’s complement
• In the previous example we see that 9’s complement of 3675 is
6324. We can get the result by subtracting each digit from 9.
• Similarly for other base, the (r-1)’s complement can be found by
subtracting each digit from r-1 (the highest digit in that system).
• For binary 1’s complement is even more easy. Just change 1 to 0
and 0 to 1. (Because 1-1=0 and 1-0=1)
6. Example
• Find the (r-1)’s complement in short cut method.
(620143)8 Ans: 157634
(A4D7E)16 Ans: 5B281
(110100101)2 Ans: 001011010
7. Short cut way to find r’s complement
• From the definition we can say,
r’s complement of (N) = (r-1)’s complement +1
• So, we can first find the (r-1)’s complement in short cut way
then add 1 to get the r’s complement.
• Example: r’s complement of (620143)8 =157634 + 1
= 157635
This method is a two step process. But we can find it in a one
step process also.
8. Short cut way to find r’s complement
• One step process:
Start from rightmost digit to left.
Initial zeros will remain unchanged
Rightmost non-zero digit will be subtracted from r
Rest of the digits will be subtracted from r-1
• Example:
Find the 10’s complement of (529400)10
Rightmost 2 zeros will not change, 4 will be subtracted
from 10 and rest of the digits 529 will be subtracted
from 9
So the result is 470600
9. Example
• Find the r’s complement in short cut method.
• (8210)10 Ans: 1790
• (61352)10 Ans: 38648
• (6201430)8 Ans: 1576350
• (A4D7E0)16 Ans: 5B2820
10. Example for binary
• For binary: start from rightmost bit
• Up to first 1 – no change.
• For rest of the bits toggle (Change 1 to 0 and 0 to 1)
(11010010100)2 Ans: 00101101100
(01101001011)2 Ans: 10010110101
(10000000)2 Ans: 10000000
11. Use of Complement
• Complement is used to perform subtraction using addition
• Mathematically A-B = A + (-B)
• So we can get the result of A-B by adding complement of B with A.
• So A-B = A + Complement of (B)
12. Addition and Subtraction
◦ Two's complement addition follows the same rules as binary addition.
◦ Two's complement subtraction is the binary addition of the minuend to the 2's
complement of the subtrahend (adding a negative number is the same as
subtracting a positive one).
5 + (-3) = 2 0000 0101 = +5
+ 1111 1101 = -3
0000 0010 = +2
7 - 12 = (-5) 0000 0111 = +7
+ 1111 0100 = -12
1111 1011 = -5
15. Input / Output Devices
•Input Devices
• Accepts information from the user and
transforms it to digital codes that the computer
can process
• Example: keyboard, mouse, scanner
•Output Devices
• An interface by which the computer conveys
the output to the user
• Example: monitor, printer
16. Main Memory
• A semiconductor device which stores the information
necessary for a program to run.
• 2 types
• ROM (Read Only Memory)
• Contains information that is necessary for the computer to boot up
• The information stays there permanently even when the computer is
turned off.
• RAM (Random Access Memory)
• Contains instruction or data needed for a program to run
• Gets erased when the computer is turned off.
17. Central Processing Unit (CPU)
• Does most of the work in executing a program
• The CPU inside a PC is usually the microprocessor
• 3 main parts:
• Control Unit
• Fetch instructions from main memory and put them in the instruction register
• ALU (Arithmetic Logic Unit)
• Execute arithmetic operations
• Registers
• Temporarily store instructions or data fetched from memory
18. Storage Devices
• A magnetic device used to store a large amount of
information.
• Store the software components or data needed
for the computer to execute its tasks.
• Can be “read only” or “writable”.
• Example: Hard drive, CD ROM, floppy disks
19. Network Devices
• Connect a computer to the other computers.
• Enable the users to access data or execute
programs remotely.
• Example: modem, Ethernet card
20. Natural language
• Our everyday-language; spoken and written
• Not 100% needed to understand:
• “Do you want to buy this computer ?” remains comprehensible
• Depends on circumstances; the context:
• “Do you like one ?” doesn't make sense on its own. It needs a situation
around it:
• someone holding a bouquet of flowers: you might take one
• someone pointing to an expensive car: your opinion is asked
• someone 'offers' you an oily cloth to sneeze: you don't take it
21. Semantics and Syntax
• Semantics – the meaning of the language within a given
context
• Syntax - Syntax are the rules to join words
together in forming a correct expression or phrase.
• In natural languages it is often possible to assemble a
sentence in more than one correct ways.
22. What is Programming?
• Programming is instructing a computer to do something for you with the help of
a programming language
• The two roles of a programming language:
• Technical: It instructs the computer to perform tasks.
• Conceptual: It is a framework within which we organize our ideas about
things and processes.
• In programming, we deal with two kind of things:
• Data - representing 'objects' we want to manipulate
• Procedures -'descriptions' or 'rules' that define how to manipulate data.
23. Programming Language
• A programming language contains instructions for the
computer to perform a specific action or a specific task:
• 'Calculate the sum of the numbers from 1 to 10‘
• 'Print “I like programming”‘
• 'Output the current time'
24. Programming Language
• Can be classified into as a special-purpose and general-purpose
programming languages.
• Special-purpose : is design for a particular type of application
• Structured Query Language (SQL)
• General-purpose : can be used to obtain solutions for many types
of problems
• Machine Languages
• Assembly Languages
• High-Level Languages
25. Machine Language
• The only language that the processor actually 'understands‘
• Consists of binary codes: 0 and 1
• Example: 00010101
11010001
01001100
• Each of the lines above corresponds to a specific task to be done by
the processor.
• Programming in machine code is difficult and slow since it is
difficult to memorize all the instructions.
• Mistakes can happen very easily.
• Processor and Architecture dependent
26. Assembly Language
• Enables machine code to be represented in words and numbers.
• Example of a program in assembler language:
LOAD A, 9999
LOAD B, 8282
SUB B
MOV C, A
LOAD C, #0002
DIV A, C
STORE A, 7002
• Easier to understand and memorize (called Mnemonics), compared
to machine code but still quite difficult to use.
• Processor and Architecture dependent
27. High-Level Language
• Use more English words. They try to resemble English sentences.
Therefore, it is easier to program in these languages.
• The programming structure is problem oriented - does not need to
know how the computer actually executes the instructions.
• Processor independent - the same code can be run on different
processors.
• Examples: Basic, Fortran, Pascal, Cobol, C, C++, Java
• A high level language needs to be analyzed by the compiler and
then compiled into machine code so that it can be executed by the
processor.
28.
29. C Programming Language
Why 'C' ?
• Because based on 'B'; developed at Bell Laboratories
• Developed by Dennis Ritchie at Bell Laboratories in the
1960s
• In cooperation with Ken Thomson it was used for Unix
systems
• The C Language was only vaguely defined, not
standardized, so that almost everyone had his own
perception of it, to such an extend that an urgent need
for a standard code was creeping up
30. C Programming Language
• In 1983, the American National Standards Institute (ANSI)
set up X3J11, a Technical Committee to draft a proposal
for the ANSI standard, which was approved in 1989 and
referred to as the ANSI/ISO 9899 : 1990 or simply the
ANSI C, which is now the global standard for C.
• This standard was updated in 1999; but there is no
compiler yet
31. A Simple Program in C
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!n");
return 0;
}
32. A Simple Program in C
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!n");
return 0;
}
standard Library, input-output, header-file
33. A Simple Program in C
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!n");
return 0;
}
Beginning of program
34. A Simple Program in C
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!n");
return 0;
}
End of Segment
Start of Segment
35. A Simple Program in C
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!n");
return 0;
}
Function for printing text
End of statement
Insert a new line