binary system and logical gates the foundation of all computing devices are built on hexadecimal...

90
Binary System and Logical Gates The foundation of all computing devices are built on Hexadecimal numbers are more convenient for working on hardware. 1

Upload: mabel-clarke

Post on 26-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Binary System and Logical Gates

The foundation of all computing devices are built on

Hexadecimal numbers are more convenient for working on hardware.

1

Page 2: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Objectives

After studying, students will be able to: Translate between base-ten and base-two

numbers, and represent negative numbers using both sign-magnitude and two’s complement representations

Explain how floating-point numbers, character, sounds, and images are represented inside the computer

Build truth tables for Boolean expressions and determine when they are true or false

Describe the relationship between Boolean logic and computer hardware/circuits

2

Page 3: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

The Binary Numbering System

How can an electronic (or magnetic) machine represent information?

Key requirements: clear, unambiguous, reliable

External representation is human-oriented base-10 numbers keyboard characters

Internal representation is computer-oriented base-2 numbers base-2 codes for characters

3

Page 4: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Invitation to Computer Science, 6th Edition4

Page 5: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Two Important Factors

Two types of integers: Unsigned: not negative Signed: any numbers: positive, zero,

negative The number of bits used to hold the

integer 4 bits, 8 bits (1 byte), 2 bytes, 4 bytes,

any other sizes It is crucially important for signed

integers

5

Page 6: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Base 2 and base 10

The binary numbering system is a base-2 positional numbering system

Base ten: Uses 10 digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Each place corresponds to a power of 10 1,943 = 1 * 103 + 9 * 102 + 4 * 101 + 3 * 100

Base two: Uses 2 digits: 0, 1 Each place corresponds to a power of 2 1101 = 1 * 23 + 1 * 22 + 0 * 21 + 1 * 20 = 13

6

Page 7: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

7

Page 8: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Conversion

Converting from binary to decimal Add up powers of two where a 1 appears in

the binary number Converting from decimal to binary

Repeatedly divide by two and record the remainder

Example, convert 9: 9/2 = 4 remainder 1, binary number = 1 4/2 = 2 remainder 0, binary number = 01 2/2 = 1 remainder 0, binary number = 001 1/2 = 0 remainder 1, binary number = 1001

8

Page 9: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Binary to decimal (1)

9

Page 10: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Binary to decimal (2)Binary number 10011011

10

Page 11: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Binary to decimal (3)Binary number 10011011

11

Page 12: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Binary to decimal (4)

12

Binary number 10011011

Page 13: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Binary to decimal (5)

13

Binary number 10011011

Page 14: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Decimal to Binary (1)Decimal number 156

14

Page 15: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Decimal to Binary (2)Decimal number 156

15

Page 16: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Decimal to Binary (3)Decimal number 156

16

Page 17: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Decimal to Binary (4)Decimal number 156

17

Page 18: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Arithmetic operations

Computers use fixed-length binary numbers for integers, e.g., with 4 bits could represent 0 to 15

Arithmetic overflow: when computer tries to make a number that is too large, e.g. 14 + 2 with 4 bits

Binary addition: 0+0=0, 0+1=1, 1+0=1, 1+1=0 with carry of 1

Example: 0101 + 0011 = 1000Invitation to Computer Science, 6th Edition

18

Page 19: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Signed integers

Signed integers include negative numbers

Method I: Sign/magnitude notation uses

1 bit for sign, the rest for value.+5 = 0101, -5 = 11010 = 0000 and 1000!

Two expressions for 0. No Good!

19

Page 20: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Signed integers

Method II: Two’s complement The MSB bit is a sign bit:

0 --- positive number 1 --- negative number

Steps: flip every bit Add 1 +5 = 0101, -5 = 1010 + 1 = 1011 0 = 0000, -0 = 1111 + 1 = 0000

20

Page 21: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Two’s Complement

Determine number of bits used to hold the number

The most significant bit (the left-most bit) is the sign bit. 0: positive; 1: negative

Bits flip and add 1

21

Page 22: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Two’s Complement: B to D

Interpret 11011011 as a two's complement binary number, and give its decimal equivalent. Notice we use 8 bits. First, note that the number is negative, since it

starts with a 1. Change the sign to get the magnitude of the

number. 1 1 0 1 1 0 1 1 ¬ 0 0 1 0 0 1 0 0 + 1---------------- 0 0 1 0 0 1 0 1

Convert the magnitude to decimal: 001001012 = 2516 = 2×16 + 5 = 3710.

Since the original number was negative, the final result is -37. 22

Page 23: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Two’s Complement: D to B

Convert the magnitude, -72 to 8-bit binary

72 --- 01001000 Conversion:

0 1 0 0 1 0 0 0 ¬ 1 0 1 1 0 1 1 1 + 1

---------------1 0 1 1 1 0 0 0

23

Page 24: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Binary Numbers: Using 3 bits

000 ------------ 0

001 ------------ 1

010 ------------ 2

011 ------------ 3

100 ------------ -4

101 ------------ -3

110 ------------ -2

111 ------------ -1

24

Page 25: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Binary Numbers: -1

3 bits: 111 ------------ -1 4 bits: 1111 ----------- -1 8 bits: 11111111 ------- -1 16 bits: 1111111111111111 -- -1

25

Page 26: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Overflow

If a location is too small for a number, overflow occurs.

for unsigned integers, a byte can hold a number between 0 and 255. If using one byte to store 256, we get 0.

For signed integers, a byte can hold a number between -128 and 127. If using one byte to store -130 or 128, overflows occurs.

26

Page 27: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Hexadecimal Numbers

Based on 16 The 16 digits are 0, 1, 2, 3, 4, 5, 6, 7,

8, 9, A, B, C, D, E, F Examples:

Hexadecimal Binary Decimal 1 1

1 F 1111

15 11 00010001

17 ff 11111111

255

27

Page 28: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Hexadecimal Numbers

Hexadecimal Binary Decimal 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 A 1010 10 B 1011 11 C 1100 12 D 1101 13 E 1110 14 F 1111 15

28

Page 29: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Hexadecimal Numbers

Decimal to hexadecimal: repeatedly divide the decimal number by 16

Hexadecimal to decimal:Right most number + 16 * second number from the right + 256*third number from the right + …

29

Page 30: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Hexadecimal Numbers

Large binary number to decimal number through hexadecimal number: Group the binary number into groups of

4 digits starting from right. Convert each group into a hexadecimal

digit Convert the hexadecimal number to

decimal.

30

Page 31: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Hexadecimal Numbers

Large decimal number to binary number through hexadecimal number: Convert the decimal number to

hexadecimal number Convert each digit of the hexadecimal

number into corresponding 4 digits

31

Page 32: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Floating numbers (optional)

Floating point numbers use binary scientific notation Scientific notation, base 10: 1.35 ×

10-5

Base 2: 3.2510 = 11.012 = 1.101 × 21

Characters and text: map characters onto binary numbers in a standard way ASCII (8-bit numbers for each character) Unicode (16-bit numbers for each

character)32

Page 33: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

The Binary Numbering System

Conversion from binary numbers to decimal: adding exponentialsUsing 4 bits to represent a binary number

Binary number Decimal0000 --- 00001 --- 10010 --- 20011 --- 30100 --- 4…0111 --- 7 unsigned signed1000 --- 8 -8 (8 – 16)1001 --- 9 -7 (9 – 16)…1111 --- 15 -1 (15 – 16)

33

Page 34: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

The Binary Numbering System

Conversion from decimal numbers to binary: recursively division by 2: 10, 20, 50, -40

Operations of binary operations Addition

Carry Overflow

34

Page 35: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Sounds and Images

Sounds and images require converting naturally analog representations to digital representations

Sound waves characterized by: amplitude: height of the wave at a

moment in time period: length of time until wave

pattern repeats frequency: number of periods per time

unit35

Page 36: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

36

Page 37: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Digitization

Digitize: to convert to a digital form Sampling: record sound wave values at

fixed, discrete intervals To reproduce sound, approximate using

samples Quality determine by:

Sampling rate: number of samples per second More samples = more accurate wave form

Bit depth: number of bits per sample More bits = more accurate amplitude

37

Page 38: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

38

Page 39: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Images

Image sampling: record color or intensity at fixed, discrete intervals in two dimensions

Pixels: individual recorded samples RGB encoding scheme:

Colors are combinations of red, green, and blue

One byte each for red, green, and blue Raster graphics store picture as

two-d grid of pixel values39

Page 40: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

40

Page 41: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

41

Page 42: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Digitizatin

Data size: how much to store: 1000 integer values 10-page text paper 60-second sound file 480 by 640 image

Data compression: storing data in a reduced-size form to save space/time Lossless: data can be perfectly restored Lossy: data cannot be perfectly restored

42

Page 43: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

43

Page 44: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

The Binary Numbering System

Computers use binary because “bistable” systems are reliable current on/off magnetic field left/right

44

Page 45: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Transistors

Transistors Solid-state

switches Change on/off

when given power on control line

Extremely small (billions per chip)

Enable computers that work with gigabytes of data

45

Page 46: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Boolean Logic and Gates

Boolean logic: rules for manipulating true/false Boolean expressions can be converted to circuits Hardware design/logic design pertains to the

design and construction of new circuits Note that 1/0 of binary representations maps to

true/false of Boolean logic Boolean expressions: x ≤ 35, a = 12 Boolean operators: (0 ≤ x) AND (x ≤ 35), (a =

12) OR (a = 13), NOT (a = 12)(0 ≤ x) (x ≤ 35), (a = 12) + (a = 13), ~(a = 12)

46

Page 47: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Boolean Logic and Gates (continued)

Truth tables lay out true/false values for Boolean expressions, for each possible true/false input

Example: (a b) + (a ~b)

47

a b ~b (a b) (a ~b)(a b) + (a ~b)

true true false true false true

true false true false true true

false true false false false false

false false true false false false

Page 48: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

48

Page 49: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Boolean Logic and Gates (continued)

Gate: an electronic device that operates on inputs to produce outputs

Each gate corresponds to a Boolean operator

49

Page 50: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Boolean Logic and Gates (continued) Gates are built from

transistors NOT gate: 1 transistor AND gate: 3

transistors OR gate: 3 transistors NAND and NOR: 2

transistors

50

Page 51: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

51

Page 52: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

52

Page 53: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Building Computer Circuits

Circuit: has input wires, contains gates connected by wires, and has output wires

Outputs depend only on current inputs: no state

53

Page 54: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Building Computer Circuits

To convert a circuit to a Boolean expression: Start with output and work backwards

Find next gate back, convert to Boolean operator Repeat for each input, filling in left and/or right side

To convert a Boolean expression to a circuit: Similar approach

To build a circuit from desired outcomes: Use standard circuit construction algorithm:

e.g., sum-of-products algorithm

Invitation to Computer Science, 6th Edition

54

Page 55: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Building Computer Circuits (continued)

Example from text Build truth table:

Invitation to Computer Science, 6th Edition

55

a b c Output1 Output2

0 0 0 0 1

0 0 1 0 0

0 1 0 1 1

0 1 1 0 1

1 0 0 0 0

1 0 1 0 0

1 1 0 1 1

1 1 1 0 0

Page 56: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Building Computer Circuits (continued)

Example from text Find true rows for Output1

Invitation to Computer Science, 6th Edition

56

a b c Output1 Output2

0 0 0 0 1

0 0 1 0 0

0 1 0 1 1

0 1 1 0 1

1 0 0 0 0

1 0 1 0 0

1 1 0 1 1

1 1 1 0 0

Page 57: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Building Computer Circuits

Example from text For each true row, AND input sto

make 1 a = 0, b = 1, c = 0: (~a b ~c) a = 1, b = 1, c = 0: (a b ~c)

Combine row subexpressions with OR (~a b ~c) + (a b ~c)

Build circuit from expression (and repeat for other output)

Invitation to Computer Science, 6th Edition

57

Page 58: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Invitation to Computer Science, 6th Edition58

Page 59: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Invitation to Computer Science, 6th Edition59

Page 60: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Building Computer Circuits (continued)

Compare-for-equality (CE) circuit Input is two unsigned binary numbers Output is 1 if inputs are identical, and

0 otherwise Start with one-bit version (1-CE) and

build general version from that

Invitation to Computer Science, 6th Edition

60

Page 61: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Building Computer Circuits (continued)

1-CE circuit: compare two input bits for equality

Truth table:

Boolean expression: (a b) + (~a ~b)

Invitation to Computer Science, 6th Edition

61

a b Output

0 0 1

0 1 0

1 0 0

1 1 1

Page 62: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Invitation to Computer Science, 6th Edition62

Page 63: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Building Computer Circuits (continued)

N-bit CE circuit Input: a0a2…an-1 and b0b2…bn-1, where ai

and bi are individual bits

Pair up corresponding bits: a0 with b0, a1 with b1, etc.

Run a 1-CE circuit on each pair AND the results

Invitation to Computer Science, 6th Edition

63

Page 64: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Invitation to Computer Science, 6th Edition64

Page 65: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Building Computer Circuits

Full adder circuit Input is two unsigned N-bit numbers Output is one unsigned N-bit number, the

result of adding inputs together Example:

Start with one-bit adder (1-ADD)

Invitation to Computer Science, 6th Edition

65

1

0 0 1 0 1

+ 0 1 0 0 1

0 1 1 1 0

Page 66: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Invitation to Computer Science, 6th Edition66

Page 67: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Building Computer Circuits (continued)

Sum digit, si, has Boolean expression:(~ai ~bi ci) + (~ai bi ~ci) +

(ai ~bi ~ci) + (ai bi ci)

Carry digit, ci+1, has Boolean expression:(~ai bi ci) + (ai ~bi ci) +

(ai bi ~ci) + (ai bi ci)

Invitation to Computer Science, 6th Edition

67

Page 68: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware
Page 69: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

69

Page 70: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Building Computer Circuits (continued)

N-bit adder circuit Input: a0a2…an-1 and b0b2…bn-1, where ai and bi

are individual bits a0 and b0 are least significant digits: ones place

Pair up corresponding bits: a0 with b0, a1 with b1, etc.

Run 1-ADD on a0 and b0, with fixed carry in c0 = 0

Feed carry out c1 to next 1-ADD and repeat

Invitation to Computer Science, 6th Edition

70

Page 71: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

71

Page 72: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Control Circuits

Control circuits make decisions, determine order of operations, select data values

Multiplexor selects one from among many inputs 2N input lines N selector lines 1 output line

Each input line corresponds to a unique pattern on selector lines

That input value is passed to output

Invitation to Computer Science, 6th Edition

72

Page 73: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Invitation to Computer Science, 6th Edition73

Page 74: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Control Circuits (continued)

Decoder sends a signal out only one output, chosen by its input N input lines 2N output lines

Each output line corresponds to a unique pattern on input lines

Only the chosen output line produces 1, all others output 0

Invitation to Computer Science, 6th Edition

74

Page 75: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

75

Page 76: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Control Circuits (continued)

Decoder circuit uses To select a single arithmetic instruction,

given a code for that instruction Code activates one output line, that line

activates corresponding arithmetic circuit Multiplexor circuit uses

To choose one data value from among a set, based on selector pattern

Many data values flow into the multiplexor, only the selected one comes out

Invitation to Computer Science, 6th Edition

76

Page 77: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Invitation to Computer Science, 6th Edition77

Page 78: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Invitation to Computer Science, 6th Edition78

Page 79: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Summary

Computers use binary representations because they maximize reliability for electronic systems

Many kinds of data may be represented at least in an approximate digital form using binary values

Boolean logic describes how to build and manipulate expressions that are true/false

We can build logic gates that act like Boolean operators using transistors

Circuits may be built from logic gates: circuits correspond to Boolean expressions

Invitation to Computer Science, 6th Edition

79

Page 80: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Summary

Sum-of-products is a circuit design algorithm: takes a specification and ends with a circuit

We can build circuits for basic algorithmic tasks: Comparisons (compare-for-equality

circuit) Arithmetic (adder circuit) Control (multiplexor and decoder

circuits)

Invitation to Computer Science, 6th Edition

80

Page 81: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Pseudo language

Pseudo languageStep Operation

Step 1 operation 1Step 2 operation 2……Step N operation N

Page 82: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Pseudo language

Input Get value(s) of var1(, var2,…)

Output Print value(s) of var1(, var2,…)

Page 83: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Pseudo language

Processing Computation

Set the value of “variable” to “arithmetic expression”

Conditional If “condition” is true then

fist set of operations else

second set of opeations

Page 84: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Pseudo language

Processing Computation

Set the value of “variable” to “arithmetic expression”

Conditional if “condition” is true then

fist set of operations else

second set of opeations Using indentations

Page 85: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Pseudo language

Processing/computation (cont.) Iterative (Loops)

While (condition) do step I through step jSteps i: operation

…Step j operation

[ End of the loop ] --- optional

Page 86: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Pseudo language & Examples

The calculation of gas mileage1. Get the value for gallons used, starting

mileage, ending mileage2. Set the value of distance driven to (ending

mileage – starting mileage)3. Set the value of gas mileage to (distance

driven / gallons used)4. Print the value of gas mileage5. [ Stop ] --- optional

Page 87: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Pseudo language & Examples

Computing the sum of first N integers1. Get the value of N2. Set sum to 0, count to 03. While count is <= N do step 4 to 54. Set the sum to (sum + count)5. Set the value of count to (count + 1)6. Print the value of sum

Page 88: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Pseudo language & Examples

Get the value of largest of n numbers1. Get the value of n and values of numbers T1

T2…Tn

2. Set the value of largest to the value of T1

3. Set the value of i to 24. While i is <= n do step 4 to 55. If the value of Tn is larger than the value of

largest then Set the value largest to the value of Tn

6. Set the value of i to (i + 1)7. Print the value of largest

Page 89: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Pseudo language & Examples

Sort n numbers: discussing in class Sequential sort Quick sort

Search: discussing in class Sequential search Binary search

Page 90: Binary System and Logical Gates  The foundation of all computing devices are built on  Hexadecimal numbers are more convenient for working on hardware

Efficiency of an Algorithm

The Efficiency of an Algorithm is calculated by the computations (arithmetic operations, comparisons…) needed to complete the rask

Usually the variable is the magnitude of the task. For example, the size of the array

O(1), O(log(n)), O(n), O(n2), …,O(en)…