binary numbers 1. outcome familiar with the binary system binary to decimal and decimal to binary...

41
Binary Numbers 1

Upload: alexina-patterson

Post on 28-Dec-2015

268 views

Category:

Documents


3 download

TRANSCRIPT

Binary Numbers

1

Outcome

• Familiar with the binary system• Binary to Decimal and decimal to binary• Adding two binary sequences• Logic gates• Hexadecimal system

The Decimal Number System

4

• The decimal number system is also known as base 10. The values of the positions are calculated by taking 10 to some power.

• Why is the base 10 for decimal numbers?o Because we use 10 digits, the digits 0 through 9.

The Decimal Number System - base 10

5

• The decimal number system is a positional number system with a base 10.

• Example: 1011

• 10112 = 1000 + 000 + 10 + 1 = 1 x 23 + 0 x22 + 1 x 21 + 1 x 20 = 1110

1000 000 10 11 x 23 0x22 1 x 21 1x 20

The Binary Number System

6

• The binary number system is also known as base 2. The values of the positions are calculated by taking 2 to some power.

• Why is the base 2 for binary numbers?o Because we use 2 digits, the digits 0 and 1.

The Binary Number System – base 2

7

• The decimal number system is a positional number system with a base 10.

• Example: 5623

• 5623 = 5000 + 600 + 20 + 3 = 5 x 103 + 6 x102 + 2 x 101 + 3 x 100

5000 600 20 35 x 103 6 x102 2 x 101 3 x 100

Why Bits (Binary Digits)?• Computers are built using digital circuits

– Inputs and outputs can have only two values– True (high voltage) or false (low voltage)– Represented as 1 and 0

• Can represent many kinds of information– Boolean (true or false)– Numbers (23, 79, …)– Characters (‘a’, ‘z’, …)– Pixels– Sound

• Can manipulate in many ways– Read and write– Logical operations– Arithmetic– …

8

Base 10 and Base 2• Base 10

– Each digit represents a power of 10– 5417310 = 5 x 104 + 4 x 103 + 1 x 102 + 7 x 101 + 3 x 100

• Base 2

– Each bit represents a power of 2– 101012= 1 x 24 + 0 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 2110

9

The Binary Number System (con’t)

10

• The binary number system is also a positional numbering system.

• Instead of using ten digits, 0 - 9, the binary system uses only two digits, 0 and 1.

• Example of a binary number and the values of the positions:

1 0 0 1 1 0 1 26 25 24 23 22 21 20

Converting from Binary to Decimal

11

1 0 0 1 1 0 1 1 X 20 = 1 26 25 24 23 22 21 20 0 X 21 = 0 1 X 22 = 4 20 = 1 1 X 23 = 8 21 = 2 0 X 24 = 0 22 = 4 0 X 25 = 0 23 = 8 1 X 26 = 64 24 = 16 7710

25 = 32 26 = 64

Converting from Binary to Decimal (con’t)

Practice conversions:

Binary Decimal

11101 1010101 100111

12

Converting From Decimal to Binary (con’t)

13

• Make a list of the binary place values up to the number being converted.• Perform successive divisions by 2, placing the remainder of 0 or 1 in each of the

positions from right to left.• Continue until the quotient is zero.• Example: 4210

25 24 23 22 21 20

32 16 8 4 2 1 1 0 1 0 1 0

42/2 = 21 and R = 021/2 = 10 and R = 110/2 = 5 and R = 05/2 = 2 and R = 12/2 = 1 and R = 01/2 = 0 and R = 1

4210 = 1010102

Example 1210

We repeatedly divide the decimal number by 2 and keep remainders

– 12/2 = 6 and R = 0– 6/2 = 3 and R = 0– 3/2 = 1 and R = 1– 1/2 = 0 and R = 1

The binary number representing 12 is 1100

Converting From Decimal to Binary (con’t)

Practice conversions:

Decimal Binary

59 82 175

15

Exercises

• Find the binary the decimal number represented by the following binary sequences:– 110101– 10111010

• Represent the number 135 in base 2.

Bits, Bytes, and Words

• A bit is a single binary digit (a 1 or 0).• A byte is 8 bits• A word is 32 bits or 4 bytes• Long word = 8 bytes = 64 bits• Quad word = 16 bytes = 128 bits• Programming languages use these standard number of

bits when organizing data storage and access.

17

Adding Two Integers: Base 10

• From right to left, we add each pair of digits• We write the sum, and add the carry to the next column

18

1 98

+ 2 64

Sum

Carry

0 11

+ 0 01

Sum

Carry

2

1

6

1

4

0

0

1

0

1

1

0

Example 10011110 1101111+ + 111 1101-------------------- -------------------= 101 0 0 101 = 1111100

Boolean Algebra to Logic Gates

• Logic circuits are built from components called logic gates.

• The logic gates correspond to Boolean operations +, *, ’.

• Binary operations have two inputs, unary has one

OR+

AND*

NOT’

ANDA

BLogic Gate:

A B A*B

0 0 0

0 1 0

1 0 0

1 1 1

Truth Table:

A*B

A

BLogic Gate:

A B A+B

0 0 0

0 1 1

1 0 1

1 1 1

Truth Table:

A+B

OR

NOTALogic Gate:

(also called an inverter)

a A

0 1

1 0

Truth Table:

A’ or A

n-input Gates• Because + and * are binary operations, they can be

cascaded together to OR or AND multiple inputs.

AB

C

ABC

A+B+C

A+B+C

AB

ABC

ABC

ABC

n-bit Inputs

• For convenience, it is sometimes useful to think of the logic gates processing n-bits at a time. This really refers to n instances of the logic gate, not a single logic date with n-inputs.

1101100101

01001101111101110111

10001111

0011110000001100

110001 001110

Logic Circuits ≡ Boolean Expressions

• All logic circuits are equivalent to Boolean expressions and any boolean expression can be rendered as a logic circuit.

• AND-OR logic circuits are equivalent to sum-of-products form.• Consider the following circuits:

A

C

Babc

aBc

Ab

y=abc+aBc+Ab

y

A

B

C

Y

y=aB+Bc

NAND and NOR Gates• NAND and NOR gates can greatly simplify circuit diagrams. As we

will see, can you use these gates wherever you could use AND, OR, and NOT.

NAND

NOR

A B AB

0 0 1

0 1 1

1 0 1

1 1 0

A B AB

0 0 1

0 1 0

1 0 0

1 1 0

XOR and XNOR Gates• XOR is used to choose between two mutually exclusive inputs.

Unlike OR, XOR is true only when one input or the other is true, not both.

XOR

XNOR

A B AB

0 0 0

0 1 1

1 0 1

1 1 0

A B A B

0 0 1

0 1 0

1 0 0

1 1 1

Binary Sums and Carries

a b Sum a b Carry0 0 0 0 0 00 1 1 0 1 01 0 1 1 0 01 1 0 1 1 1

29

XOR AND

0100 0101

+ 0110 0111

1010 1100

69

103

172

Half Adder (1-bit)

A B S(um)

C(arry)

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

HalfAdder

A B

S

C

Half Adder (1-bit)

AB C

BABABAS

A B S(um)

C(arry)

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

A

BSum

Carry

Full Adder

Cin A B S(um)

Cout

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

FullAdder

A B

S

Cout

Carry In(Cin)

Full Adder

B)Cin(AABCout BACinS

A

B

Cin

Cout

S

H.A. H.A.

Full Adder

B)Cin(AABCout BACinS

Cout

S

HalfAdder

S

C

A

B

HalfAdder

S

C

A

BB

A

Cin

4-bit Ripple Adder using Full Adder

FullAdder

A B

CinCout

S

S0

A0 B0

FullAdder

A B

CinCout

S

S1

A1 B1

FullAdder

A B

CinCout

S

S2

A2 B2

FullAdder

A B

CinCout

S

S3

A3 B3

Carry

A

BS

C

Half Adder

A

B

CinCout

SH.A. H.A.

Full Adder

Working with Large Numbers

36

0 1 0 1 0 0 0 0 1 0 1 0 0 1 1 1 = ?

• Humans can’t work well with binary numbers; there are too many digits to deal with.

• Memory addresses and other data can be quite large. Therefore, we sometimes use the hexadecimal number system.

The Hexadecimal Number System• The hexadecimal number system is also known as base 16. The values of

the positions are calculated by taking 16 to some power.• Why is the base 16 for hexadecimal numbers ?

– Because we use 16 symbols, the digits 0 and 1 and the letters A through F.

37

The Hexadecimal Number System (con’t)

Binary Decimal Hexadecimal Binary Decimal Hexadecimal

0 0 0 1010 10 A 1 1 1 1011 11 B 10 2 2 1100 12 C 11 3 3 1101 13 D 100 4 4 1110 14 E 101 5 5 1111 15 F 110 6 6 111 7 7 1000 8 8 1001 9 9

38

The Hexadecimal Number System (con’t)

• Example of a hexadecimal number and the values of the positions:

3 C 8 B 0 5 1 166 165 164 163 162 161 160

39

Example of Equivalent Numbers

40

Binary: 1 0 1 0 0 0 0 1 0 1 0 0 1 1 12

Decimal: 2064710

Hexadecimal: 50A716

Notice how the number of digits gets smaller as the base increases.

Summary

• Convert binary to decimal• Decimal to binary• Binary operation• Logic gates• Use of logic gates to perform binary

operations• Hexadecimal