Published On:Sunday, 27 November 2011
Posted by Muhammad Atif Saeed
Birany Numbers and Logical Operators
The focus of the last Lesson was on the microprocessor
During that Lesson we learnt about the function of the central component of a computer, themicroprocessor
And its various sub-systems
Bus interface unit
Data & instruction cache memory
Instruction decoder
ALU
Floating-point unit
Control unit
Learning Goals for Today
To become familiar with number system used by the microprocessors - binary numbersTo become able to perform decimal-to-binary conversions
To understand the NOT, AND, OR and XOR logic operations – the fundamental operations that are
available in all microprocessors
BINARY
(BASE 2)
numbers
DECIMAL
(BASE 10)
numbers
Decimal (base 10) number system consists of 10 symbols or digits
0 1 2 3 4
5 6 7 8 9
Binary (base 2) number system consists of just two
0 1
Other popular number systems
Octal
base = 8
8 symbols (0,1,2,3,4,5,6,7)
Hexadecimal
base = 1616 symbols (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
Decimal (base 10) numbers are expressed in the
positional notation
4202 = 2x100 + 0x101 + 2x102 +
4x103
The right-most is the least significant digit
The left-most is the most significant digit
Decimal (base 10) numbers are expressed
in the positional notation
4202 = 2x100 + 0x101 + 2x102 + 4x103
10’s multiplier
10
Decimal (base 10) numbers are expressed
in the positional notation
4202 = 2x100 + 0x101 + 2x102 + 4x103
1’s multiplier
1
Decimal (base 10) numbers are expressed
in the positional notation
4202 = 2x100 + 0x101 + 2x102 + 4x103
100’s multiplier
100
Binary (base 2) numbers are also expressed in
the positional notation
10011=1x20+1x21+0x22+0x23+1x24
The right-most is the least significant
di i
The left-most is the most significant digit
Binary (base 2) numbers are also expressed
in the positional notation
10011=1x20+1x21+0x22+0x23+1x24
1’s multiplier
1
Binary (base 2) numbers are also expressed in
the positional notation
10011=1x20+1x21+0x22+0x23+1x24
8’s multiplier
8
Binary (base 2) numbers are also expressed in
the positional notation
10011=1x20+1x21+0x22+0x23+1x24
16’s multiplier
16
8.1 Why binary
Because this system is natural for digital computersThe fundamental building block of a digital computer – the switch – possesses two natural states, ON &
OFF.
It is natural to represent those states in a number system that has only two symbols, 1 and 0, i.e. the
binary number system
In some ways, the decimal number system is natural to us humans. Why?
bit
binary digit
Byte = 8 bits
Decimal Binary conversion
.
Check
1001011 = 1x20 + 1x21 + 0x22 + 1x23 + 0x24 + 0x25 + 1x26
= 1 + 2 + 0 + 8 + 0 + 0 + 64
= 75
Counting in
Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
.
.
.
01
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
100000
100001
100010
100011
100100
.
.
.
Counting in
Binary
Convert 75 to Binary
2 752 37 1
2 18 1
2 9 0
2 4 1
2 2 0
2 1 0
0 1
remainde
1001011
That finishes our first topic - introduction to binary numbers and their conversion to and from decimal
numbers
Our next topic is …
8.2 Boolean Logic Operations
Let x, y, z be Boolean variables. Boolean variables can only have binary values i.e., they can havevalues which are either 0 or 1.
For example, if we represent the state of a light switch with a Boolean variable x, we will assign a value
of 0 to x when the switch is OFF, and 1 when it is ON
A few other names for the states of these Boolean variables
0 1Off On
Low High
False True
We define the following logic operations or functions among the Boolean variables
Name Example SymbolicallyNOT y = NOT(x) x
AND z = x AND y x ·
y
OR z = x OR y x
+
y
XOR z = x XOR y x ⊕ y
Convert 100 to Binary
2 1002 50 0
2 25 0
2 12 1
2 6 0
2 3 0
2 1 1
0 1
1100100
remainder
We’ll define these operations with the help of truth tables
what is the truth table of a logic function
A truth table defines the output of a logic function for all possible inputsTruth Table for the NOT Operation
(y true whenever x is false)
X y = x´
0
1
Truth Table for the NOT Operation
X y = x´
0 1
1 0
Truth Table for the AND Operation
(z true when both x & y true)
X y z = x ·
y
0 0
0 1
1 0
1 1
Truth Table for the AND Operation
X y z = x ·
y
0 0 0
0 1 0
1 0 0
1 1 1
Truth Table for the OR Operation
(z true when x or y or both true)
x y z = x
+
y
0 0
0 1
1 0
1 1
Truth Table for the OR Operation
x y z = x
+
y
0 0 0
0 1 1
1 0 1
1 1 1
Truth Table for the XOR Operation
(z true when x or y true, but not both)
X y z = x ⊕ y
0 0
0 1
1 0
1 1
8.3 Truth Table for the XOR Operation
X y z = x ⊕ y
0 0 0
0 1 1
1 0 1
1 1 0
Those 4 were the fundamental logic operations. Here are examples of a few more complex
situations
z = (x + y)´
z = y · (x + y)
z = (y · x)
⊕
w
8.4 STRATEGY: Divide & Conquer
z = (x + y)´
x y x
+
y z = (x
+
y)´
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 0
z = y · (x + y)
x y x
+
y z = y ·
(x
+
y)
0 0 0 0
0 1 1 1
1 0 1 0
1 1 1 1
z = (y · x)
⊕
w
x y W y ·
x z = (y ·
x)
⊕ w
0 0 0 0 0
0 0 1 0 1
0 1 0 0 0
0 1 1 0 1
1 0 0 0 0
1 0 1 0 1
1 1 0 1 1
1 1 1 1 0
Number of rows in a truth table?
2n
n = number of input variables
What have we learnt today?
About the binary number system, and how it differs from the decimal system
Positional notation for representing binary and decimal numbers
A process (or algorithm) which can be used to convert decimal numbers to binary numbers
Basic logic operations for Boolean variables, i.e.
NOT, OR, AND, XOR, NOR, NAND, XNOR
Construction of truth tables (How many rows?)
Focus of the Next Lecture
Next Lesson will be the 3rd on Web devThe focus of the one after that, the 10th lecture, however, will be on software. During that Lesson we
will try:
To understand the role of software in computing
To become able to differentiate between system and application software