boolean logic & number systems

24
1 Boolean Logic & Boolean Logic & Number Systems Number Systems Today: Some Announcements First Hour: Introduction to Logic Section 1.2, 1.3 of Katz’s Textbook In-class Activity #1 Second Hour: Number Systems Appendix A.1 and A.2 of Katz’s Textbook In-class Activity #2

Upload: felton

Post on 07-Jan-2016

23 views

Category:

Documents


0 download

DESCRIPTION

Boolean Logic & Number Systems. Today: Some Announcements First Hour : Introduction to Logic Section 1.2, 1.3 of Katz’s Textbook In-class Activity #1 Second Hour : Number Systems Appendix A.1 and A.2 of Katz’s Textbook In-class Activity #2. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Boolean Logic & Number Systems

1

Boolean Logic & Boolean Logic & Number SystemsNumber Systems

Today:

• Some Announcements

• First Hour: Introduction to Logic– Section 1.2, 1.3 of Katz’s Textbook

– In-class Activity #1

• Second Hour: Number Systems– Appendix A.1 and A.2 of Katz’s Textbook

– In-class Activity #2

Page 2: Boolean Logic & Number Systems

2

Some AnnouncementsSome Announcements

• An electronic copy of Katz’s textbook is on the website!

• Wait-listed students can now login– User name = ecse2610_stu

– Password = ecse2610_stu

Page 3: Boolean Logic & Number Systems

3

Truth TablesTruth Tables

X Y X OR Y

0 0 1 1

0 1 0 1

0 1 1 1

X NOT X

0 1

1 0

0 0 1 1

X Y

0 1 0 1

0 0 0 1

X AND Y

Z = X •Y = X Y

Z = X + Y

Z = X

Boolean Boolean EquationsEquations

Inverter

ZX

OR

XY

Z

ANDXY Z

GatesGates

Page 4: Boolean Logic & Number Systems

4

Example Truth TablesExample Truth TablesHalf adder adds two binary digits to form Sum and Carry

A B 0 0 1 1

0 1 0 1

Sum Carry 0 1 1 0

0 0 0 1

Sum equals A plus B (modulo 2)

Carry equals (A plus B minus Sum)/2

Sum equals A plus B (modulo 2)

Carry equals (A plus B minus Sum)/2

Full adder adds two binary digits and Carry in (Cin) to form Sum and Carry Out (Cout)

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C in 0 1 0 1 0 1 0 1

S um 0 1 1 0 1 0 0 1

C out 0 0 0 1 0 1 1 1

Sum equals A plus B plus Cin (modulo 2)

Carry equals (A plus B plus Cin minus Sum)/2

Sum equals A plus B plus Cin (modulo 2)

Carry equals (A plus B plus Cin minus Sum)/2

Page 5: Boolean Logic & Number Systems

5

Truth Tables to Equations Truth Tables to Equations

Carry

0001

A

0011

B

0101

Sum

0110

Sum = A B + A B

Carry = A B

Step 1: Identify each truth table row where the function value is 1

Step 2: Construct (ANDed) product terms of the inputs for these rows

If input variable is 0, it appears in complemented form

If 1, it appears un-complemented

Step3: “OR” together these product terms

Half adder

Page 6: Boolean Logic & Number Systems

6

Full Adder ExampleFull Adder Example

Cout

00010111

A

00001111

B

00110011

Cin

01010101

Sum

01101001

Sum = A B Cin + A B Cin + A B Cin + A B Cin

Cout = A B Cin + A B Cin + A B Cin + A B Cin

Page 7: Boolean Logic & Number Systems

7

1

1

Equations to Truth TablesEquations to Truth TablesConsider:Consider: Cout = A Cin + B Cin + A B

Verify the equivalence of this Boolean equation: compare this Cout with the original Cout truth table

Verify the equivalence of this Boolean equation: compare this Cout with the original Cout truth table

NoticeThis row is

covered 3 times

Each product term in the equation covers exactly two

rows in the truth table

Each product term in the equation covers exactly two

rows in the truth table

Put a 1 in each row

where product term

is true

Fill in rest of Cout with 0s

1

1

1

1

111

00010111

CoutA00001111

Cin01010101

B00110011

Page 8: Boolean Logic & Number Systems

8

Equations to CircuitsEquations to Circuits

Carry = A B

Half Adder

A

B

Sum

CarryA B

Sum = A B + A B

A BB

A A B

Page 9: Boolean Logic & Number Systems

9

Full AdderFull AdderCin B A

\Cin \ B \ A

A

B

Cin SUM

Cout

Cout = A B Cin + A B Cin + A B Cin + A B Cin

Sum = A B Cin + A B Cin + A B Cin + A B Cin

Notation:

\A = A, etc.

Page 10: Boolean Logic & Number Systems

10

Equivalent CircuitsEquivalent CircuitsCin B A

\Cin \ B \ A

A

B

Cin SUM

Cout

A B

B C in

A C in

C out

Cout = A Cin + B Cin + A BCout = A B Cin + A B Cin + A B Cin + A B Cin

Page 11: Boolean Logic & Number Systems

11

Some PracticalitiesSome PracticalitiesCin B A

\Cin \ B \ A

A

B

Cin SUM

Cout

A B

B C in

A C in

C out

"Rules of Composition" place limits on fan-in/fan-out"Rules of Composition" place limits on fan-in/fan-out

Fan-out

number of inputs a gate output is

connected to

Fan-in

number of inputs available

on a gate

Page 12: Boolean Logic & Number Systems

12

Do Activity #1 NowDo Activity #1 Now

• Reference: –Section 1.2, 1.3 of Katz Textbook

Page 13: Boolean Logic & Number Systems

13

• Most modern computers use logic circuits that exhibit two states (binary digital)

• Large binary numbers are unwieldy, so alternative representations are used.

• Hexadecimal numbers are a compromise between efficient representation and conversion to a more natural (to most humans) decimal system.

• It is important to understand these other bases when designing hardware and software.

Computers and NumbersComputers and Numbers

Page 14: Boolean Logic & Number Systems

14

NotationNotation• Unless otherwise noted, the default base for

quantities is decimal (base 10)

• Subscripts following a quantity indicate the base

• Examples:

12310 is base 10 or decimal, so is 123

12316 is base 16 or hexadecimal

1012 is base 2 or binary

• Other notation (used later on in this course):

%101 is binary

$123 is hexadecimal

Page 15: Boolean Logic & Number Systems

15

Uses 10 digits [ 0, 1, 2, . . . 9 ] Uses 10 digits [ 0, 1, 2, . . . 9 ]

Decimal Numbers Decimal Numbers

In general:

N = Ni x 10i where Ni [0, 1, 2, . . .8, 9],

where Ni are the weights and the base of the number

system is raised to the exponent i.

Note: decimal fractions occur when i is negative

0.35 = 3 x 10-1 + 5 x 10-2

In general:

N = Ni x 10i where Ni [0, 1, 2, . . .8, 9],

where Ni are the weights and the base of the number

system is raised to the exponent i.

Note: decimal fractions occur when i is negative

0.35 = 3 x 10-1 + 5 x 10-2

Positional Number NotationPositional Number Notation

Weight of digit determined by its position.

Positional Number NotationPositional Number Notation

Weight of digit determined by its position.

Example: 246 = 200 + 40 + 6

= 2 x 102 + 4 x 101 + 6 x 100

Page 16: Boolean Logic & Number Systems

16

Binary NumbersBinary NumbersUses 2 digits [ 0 & 1 ] Uses 2 digits [ 0 & 1 ]

Example:

1110012 = 1000002 + 100002 + 10002 + 0002 + 002 + 12

= 1 x 25 + 1 x 24 + 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20

= 1 x 32 + 1 x 16 + 1 x 8 + 0 x 4 + 0 x 2 + 1 x 1

= 5710

In general:

N = Ni x 2i where Ni [0, 1].

Note: binary fractions occur when i is negative

0.112 = 1x 2-1 + 1 x 2-2 = 0.510 + 0.2510 = 0.7510

In general:

N = Ni x 2i where Ni [0, 1].

Note: binary fractions occur when i is negative

0.112 = 1x 2-1 + 1 x 2-2 = 0.510 + 0.2510 = 0.7510

Positional Number NotationPositional Number NotationPositional Number NotationPositional Number Notation

Page 17: Boolean Logic & Number Systems

17

Hexadecimal (Hex) NumbersHexadecimal (Hex) Numbers

Example:

89AB16 = 800016 + 90016 + A016 + B16

= 8 x 163 + 9 x 162 + A x 161 + B x 160

= 8 x 4096 + 9 x 256 + 10 x 16 + 11 x 1 = 3524310

Uses 16 digits [ 0, 1, 2, . . . 9, A, B, C, D, E, F ]Uses 16 digits [ 0, 1, 2, . . . 9, A, B, C, D, E, F ]

In general:

N = Ni x 16i where Ni [0, 1, 2, ..., 9, A, B, C, D, E, F].

Note: hexadecimal fractions occur when i is negative

0.9A16 = 9 x 16-1 + 10 x 16-2 = 0.562510 + 0.039062510 = 0.601562510

In general:

N = Ni x 16i where Ni [0, 1, 2, ..., 9, A, B, C, D, E, F].

Note: hexadecimal fractions occur when i is negative

0.9A16 = 9 x 16-1 + 10 x 16-2 = 0.562510 + 0.039062510 = 0.601562510

Note: A - F represent the decimal values of 10 - 15, respectively.Note: A - F represent the decimal values of 10 - 15, respectively.

Positional Number NotationPositional Number NotationPositional Number NotationPositional Number Notation

Page 18: Boolean Logic & Number Systems

18

Conversion Among Bases Conversion Among Bases Conversion from any base to decimal:

Use positions and weights !

Eg: Decimal value = Ni x Bi where Ni [0, 1, 2, . . . NB-1]

( means “sum of”)

Eg: 89AB16= 8 x 4096 + 9 x 256 + 10 x 16 + 11 x 1 = 3524310

Conversion among the 2n bases (binary, hexadecimal, octal, etc.):

First convert to binary (base 2) & then regroup into n bits

Then convert the groups of bits into the proper digits.

Page 19: Boolean Logic & Number Systems

19

Memorize this table!!!

It makes conversions

between hexadecimal and binary

trivial

Memorize this table!!!

It makes conversions

between hexadecimal and binary

trivial

Hexadecimal Hexadecimal Binary Binary

Hex Binary Decimal0 0000 01 0001 12 0010 23 0011 34 0100 45 0101 56 0110 67 0111 78 1000 89 1001 9A 1010 10B 1011 11C 1100 12D 1101 13E 1110 14F 1111 15

Hex Binary Decimal0 0000 01 0001 12 0010 23 0011 34 0100 45 0101 56 0110 67 0111 78 1000 89 1001 9A 1010 10B 1011 11C 1100 12D 1101 13E 1110 14F 1111 15

Example: convert 100110001110011012 hexadecimalGroup by 4s, starting at the right expand into 4 bit groups

1 0011 0001 1100 11012 1 3 1 C D16

Example: convert 100110001110011012 hexadecimalGroup by 4s, starting at the right expand into 4 bit groups

1 0011 0001 1100 11012 1 3 1 C D16

Page 20: Boolean Logic & Number Systems

20

Decimal Decimal Binary Binary

Example:57 2 = 28, remainder = 1 (binary number will end with 1)28 2 = 14, remainder = 014 2 = 7, remainder = 0 7 2 = 3, remainder = 1 3 2 = 1, remainder = 1 1 2 = 0, remainder = 1 (binary number will start with 1)

Therefore, collecting the remainders, 5710 = 1110012

(((((0x2 + 1)x2 + 1)x2 + 1)x2 +0)x2 +0)x2 +1 = 1x32 + 1x16 + 1x8 + 0x4 + 0x2 + 1x1 = 57

(check: 32 + 16 + 8 + 0 + 0 + 1 = 57)

Based on the remainders after dividing the decimal number repeatedly by 2.

If the decimal number is even, the corresponding binary number will end in a 0, and if it is odd, the binary number will end in a 1, and so on.

Based on the remainders after dividing the decimal number repeatedly by 2.

If the decimal number is even, the corresponding binary number will end in a 0, and if it is odd, the binary number will end in a 1, and so on.

Successive Division:Successive Division: an easy way to convert Decimal to BinarySuccessive Division:Successive Division: an easy way to convert Decimal to Binary

Page 21: Boolean Logic & Number Systems

21

Decimal Decimal Hex Hex

Example:35243 / 16= 2202, remainder = 11 B (hex number will end with B) 2202 / 16= 137, remainder = 10 A 137 / 16= 8, remainder = 9 8 / 16 = 0, remainder = 8 (hex number will start with 8)

Therefore, collecting the remainders, 3524310 = 89AB16

(check: 8 x 4096 + 9 x 256 +10 x 16 + 11 = 35243)

Successive Division:Successive Division: an easy way to convert Decimal to HexadecimalSuccessive Division:Successive Division: an easy way to convert Decimal to Hexadecimal

Based on the remainders after dividing the decimal number by higher powers of 16.

Based on the remainders after dividing the decimal number by higher powers of 16.

Notice how simple this method isNotice how simple this method is

Page 22: Boolean Logic & Number Systems

22

Hex Hex Decimal Decimal

Example:BA89 B x 163 + A x 162 + 8 x 16 + 9

(CAUTION: mixed bases)

= 11 x 4096 + 10 x 256 + 8 x 16 + 9= 45056 + 2560 + 128 + 9= 47753

We can check by converting back to hex:

47753 / 16 = 2984 + remainder, 9

2984 / 16 = 186 + remainder, 8

186 / 16 = 11 + remainder, 10 A

11 / 16 = 0 + remainder, 11 B

4775310 BA8916

Multiplication:Multiplication: an easy way to convert Hexadecimal to DecimalMultiplication:Multiplication: an easy way to convert Hexadecimal to Decimal

Multiply the hexadecimal weights by powers of 16. Multiply the hexadecimal weights by powers of 16.

Page 23: Boolean Logic & Number Systems

23

Binary Binary Decimal Decimal

Compare:

110101102 27 + 26 + 24 + 22 + 2 (exploiting the binary weights)= 128 + 64 + 16 + 4 + 2= 21410

110101102 D616 13 x 16 + 6 = 208 + 6 = 21410

Multiplication:Multiplication: an easy way to convert Binary to DecimalMultiplication:Multiplication: an easy way to convert Binary to Decimal

We can multiple the binary weights by powers of 2.

However, sometimes it is just as easy to convert the binary number to hexadecimal first and and then into decimal.

We can multiple the binary weights by powers of 2.

However, sometimes it is just as easy to convert the binary number to hexadecimal first and and then into decimal.

Page 24: Boolean Logic & Number Systems

24

Do Activity #2 NowDo Activity #2 NowDue: End of Class Today

RETAIN THE LAST PAGE (#3)!!

For Next Class:• Bring Randy Katz Textbook

– Course website has an electronic copy available.

• Required Reading:– Sec A.1, A.2, 2.1, 2.2 (up to 2.2.4) of Katz

• This reading is necessary for getting points in the Studio Activity!

• Studio Session #2 Tuesday/Wednesday