CS101 - Introduction to Computing - Lecture Handout 08

User Rating:  / 0
PoorBest

Binary Numbers & Logic Operations

The focus of the last lecture was on the microprocessor

During that lecture we learnt about the function of the central component of a computer, the microprocessor
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 numbers
To 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

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)

base = 16
16 symbols (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)

Why binary

Because this system is natural for digital computers
The 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

Convert 100 to Binary

That finishes our first topic - introduction to binary numbers and their conversion to and from decimal numbers
Our next topic is …

Boolean Logic Operations

Let x, y, z be Boolean variables. Boolean variables can only have binary values i.e., they can have values 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

We define the following logic operations or functions among the Boolean variables

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 inputs
Truth Table for the NOT Operation
(y true whenever x is false)

Truth Table for the NOT Operation

Truth Table for the AND Operation
(z true when both x & y true)

Truth Table for the AND Operation

Truth Table for the OR Operation
(z true when x or y or both true)

Truth Table for the OR Operation

Truth Table for the XOR Operation
(z true when x or y true, but not both)

Truth Table for the XOR Operation

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

STRATEGY: Divide & Conquer

z = (x + y)´

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 lecture will be the 3rd on Web dev
The focus of the one after that, the 10th lecture, however, will be on software. During that lecture we will try:
To understand the role of software in computing
To become able to differentiate between system and application software