homework hints

38
1 Homework Hints Algorithms

Upload: lorna

Post on 27-Jan-2016

71 views

Category:

Documents


0 download

DESCRIPTION

Homework Hints. Algorithms. Converting Positive Numbers. Base 2 to base 16 Base 16 to base 2 Base 16 to base 10 Base 2 to base 10 Base 10 to base 2 Base 10 to base 16. Converting positive numbers: base 2 to base 16. Put the digits into groups of 4 starting at the right - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Homework Hints

1

Homework Hints

Algorithms

Page 2: Homework Hints

2

Converting Positive Numbers

Base 2 to base 16 Base 16 to base 2 Base 16 to base 10 Base 2 to base 10 Base 10 to base 2 Base 10 to base 16

Page 3: Homework Hints

3

Converting positive numbers: base 2 to base 16 Put the digits into groups of 4 starting at

the right If the last group has last than 4 digits,

extend it with leading 0s Convert each group of 4 according to

the following translation 0000 -> 0, 0001 -> 1, 0010 -> 2, 0011 ->3 0100 -> 4, 0101 -> 5, 0110 -> 6, 0111 -> 7 1000 -> 8, 1001 -> 9, 1010 -> A, 1011 -> B 1100 -> C, 1101 -> D, 1110 -> E, 1111 -> F

Page 4: Homework Hints

4

Example:0110010010010012 to base 16

011 0010 0100 10013 2 4 93249

Page 5: Homework Hints

5

Converting positive numbers: base 16 to base 2 Convert each digit into a group of 4

according to the following translation 0 -> 0000, 1 -> 0001, 2 -> 0010, 3 -> 0011 4 -> 0100, 5 -> 0101, 6 -> 0110, 7 -> 0111 8 -> 1000, 9 -> 1001, A -> 1010, B -> 1011 C -> 1100, D -> 1101, E -> 1110, F -> 1111

Page 6: Homework Hints

6

Example:8EF16 to base 2

8 = 1000E = 1110F = 1111

100011101111

Page 7: Homework Hints

7

Converting positive numbers: base 16 to base 10 Expand the number into its component values:

face-value x position value Position value

rightmost digit, position value = 160

Moving right to left, the exponent in each position increases by 1 (161, 162, 163, … )

Face value 0 - 9 are their face values A - F are 10 – 15 respectively

Convert each exponent to its decimal equivalent Multiply each face-value pair together Add the values together

Page 8: Homework Hints

8

Example:CAB16 to base 10

C x 162 + A x 161 + B x 160 = 12 x 256 + 10 x 16 + 11 x 1 = 3072 + 160 + 11 = 3243

Page 9: Homework Hints

9

Converting positive numbers: base 2 to base 10 Expand the number into its component values:

face-value x position value Position value

rightmost digit, position value = 20

Moving right to left, the exponent in each position increases by 1 (21, 22, 23, … )

Face value 0 = 0, 1 = 1

Eliminate all the 0 terms Simplify each 1x2n to 2n

Convert each exponent to its decimal equivalent

Add the values together

Page 10: Homework Hints

10

Example:1100101010112 to base 10

1x211 + 1x210 + 0x29 + 0x28 + 1x27 + 0x26 + 1x25 + 0x24 + 1x23 + 0x22 + 1x21 + 1x20 =

1x211 + 1x210 + 1x27 + 1x25 + 1x23 + 1x21 + 1x20 =

211 + 210 + 27 + 25 + 23 + 21 + 20 = 2048 + 1024 + 128 + 32 + 8 + 2 + 1

= 3243

Page 11: Homework Hints

11

Converting positive numbers: base 10 to base 2

1. Divide the number by 22. Use the remainder as the next

number (beginning at the right)3. If the result is 0 then stop4. Use the result as the next

number and go to step 1

Page 12: Homework Hints

12

Example:327 to base 2

327 / 2 = 163 r 1 answer 1163 / 2 = 81 r 1 answer 1181 /2 = 40 r 1 answer 11140 / 2 = 20 r 0 answer 011120 / 2 = 10 r 0 answer 0011110 / 2 = 5 r 0 answer 0001115 / 2 = 2 r 1 answer 10001112 / 2 = 1 r 0 answer 010001111 / 2 = 0 r 1 answer 101000111

Page 13: Homework Hints

13

Converting positive numbers: base 10 to base 16

1. Divide the number by 162. Use the remainder as the next number

(beginning at the right)1. If the remainder is less than 10, use the

number directly, else convert it to a letter using 10->A, 11->B, 12->C, 13->D, 14->E, 15->F

3. If the result is 0 then stop4. Use the result as the next number and

go to step 1

Page 14: Homework Hints

14

Example:327 to base 16

327 / 16 = 20 r 7 answer 716

20 / 16 = 1 r 4 answer 4716

1 / 16 = 0 r 1 answer 14716

Page 15: Homework Hints

15

Two’s Complement Convert a positive base 10 number

to binary two’s complement Convert a negative base 10 number

to binary two’s complement Convert a positive base 10 number

to hexadecimal two’s complement Convert a negative base 10 number

to hexadecimal two’s complement

Page 16: Homework Hints

16

Convert a positive base 10 number to binary two’s complement

Convert the number to base 2 as described on slide 11

Fill in all leading spaces with 0’s

Page 17: Homework Hints

17

Example: 52 to binary two’s complement

52/2 = 26 r 1 126/2 = 13 r 0 0113/2 = 6 r 1 101 6/2 = 3 r 0 0101 3/2 = 1 r 1 10101 1/2 = 0 r 1 110101Extend to 16-bit field: 0000000000110101

Page 18: Homework Hints

18

Convert a negative base 10 number to binary two’s complement

Convert the positive value of number to binary as described on slide 11

Fill in all leading spaces with 0’s Flip all digits: 0 -> 1, 1 -> 0 Add binary 1 to the number,

remembering the following rules: 0+0=0, 0+1=1, 1+0=1, 1+1=10

Page 19: Homework Hints

19

Example: -52 to binary two’s complement52/2 = 26 r 1 126/2 = 13 r 0 0113/2 = 6 r 1 101 6/2 = 3 r 0 0101 3/2 = 1 r 1 10101 1/2 = 0 r 1 110101

extend to 16 bits 0000000000110101

Flip the bits and add 1 1111111111001010+ 1 1111111111001011

Page 20: Homework Hints

20

Convert a positive base 10 number to hexadecimal two’s complement Convert the number to base 2 as described on

slide 11 Fill in all leading spaces with 0’s Put the digits into groups of 4 starting at the

right Convert each group of 4 according to the

following translation 0000 -> 0, 0001 -> 1, 0010 -> 2, 0011 ->3 0100 -> 4, 0101 -> 5, 0110 -> 6, 0111 -> 7 1000 -> 8, 1001 -> 9, 1010 -> A, 1011 -> B 1100 -> C, 1101 -> D, 1110 -> E, 1111 -> F

Page 21: Homework Hints

21

Example: 52 to hexadecimal two’s complement52/2 = 26 r 1 126/2 = 13 r 0 0113/2 = 6 r 1 101 6/2 = 3 r 0 0101 3/2 = 1 r 1 10101 1/2 = 0 r 1 1101010000000000110101

0000 0000 0011 0101003516

Page 22: Homework Hints

22

Convert a negative base 10 number to binary two’s complement Convert the positive value of number to binary as

described on slide 11 Fill in all leading spaces with 0’s Flip all digits: 0 -> 1, 1 -> 0 Add binary 1 to the number, remembering the following

rules: 0+0=0, 0+1=1, 1+0=1, 1+1=10

Put the digits into groups of 4 starting at the right Convert each group of 4 according to the following

translation 0000 -> 0, 0001 -> 1, 0010 -> 2, 0011 ->3 0100 -> 4, 0101 -> 5, 0110 -> 6, 0111 -> 7 1000 -> 8, 1001 -> 9, 1010 -> A, 1011 -> B 1100 -> C, 1101 -> D, 1110 -> E, 1111 -> F

Page 23: Homework Hints

23

Example: -52 to binary two’s complement52/2 = 26 r 1 126/2 = 13 r 0 0113/2 = 6 r 1 101 6/2 = 3 r 0 0101 3/2 = 1 r 1 10101 1/2 = 0 r 1 110101

0000000000110101

1111111111001010+ 1 1111111111001011

1111 1111 1100 1011FFCB16

Page 24: Homework Hints

24

Two’s Complement Operations

Binary addition Binary subtraction Binary comparison Hexadecimal addition Hexadecimal subtraction Hexadecimal comparison

Page 25: Homework Hints

25

Binary addition

Add the two numbers If the carry into the leftmost digit is

not the same as the carry out, define it as an overflow

Page 26: Homework Hints

26

Example

00000000101110102

+00000000101010112

00000001011001012

Page 27: Homework Hints

27

Binary subtraction Convert the second number into it’s

negative by Flipping each bit (0->1, 1->0) Add binary 1 to the number, remembering

the following rules: 0+0=0, 0+1=1, 1+0=1, 1+1=10

Add the two numbers If the carry into the leftmost digit is not

the same as the carry out, define it as an overflow and stop

Page 28: Homework Hints

28

Example 00000000101110102

- 00000000101010112

negate 00000000101010112 -> 1111111101010100+ 1 1111111101010101

00000000101110102

+11111111010101012

00000000000011112

Page 29: Homework Hints

29

Binary comparison

Subtract the two numbers as described in slide 27

Comparison If result is positive (first bit 0), first

number is greater If result is negative (first bit 0 and not

all others are 0), first number is smaller If result is zero, numbers are equal

Page 30: Homework Hints

30

Example

00000000101110102

- 00000000101010112

00000000000011112

First number is greater than the

second

Page 31: Homework Hints

31

Hexadecimal addition Convert both numbers into binary as described

in slide 5 Add the two numbers If the carry into the leftmost digit is not the

same as the carry out, define it as an overflow and stop

Put the digits into groups of 4 Convert each group of 4 according to the

following translation 0000 -> 0, 0001 -> 1, 0010 -> 2, 0011 ->3 0100 -> 4, 0101 -> 5, 0110 -> 6, 0111 -> 7 1000 -> 8, 1001 -> 9, 1010 -> A, 1011 -> B 1100 -> C, 1101 -> D, 1110 -> E, 1111 -> F

Page 32: Homework Hints

32

Example: BA16 + AB16

BA16 AB16

1011 1010 1010 10110000000010111010 0000000010101011

0000000010111010+0000000010101011 0000000101100101

0000 0001 0110 0101016516

Page 33: Homework Hints

33

Alternative algorithm:hexadecimal addition table

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 0 1 2 3 4 5 6 7 8 9 A B C D E F

1 1 2 3 4 5 6 7 8 9 A B C D E F 10

2 2 3 4 5 6 7 8 9 A B C D E F 10 11

3 3 4 5 6 7 8 9 A B C D E F 10 11 12

4 4 5 6 7 8 9 A B C D E F 10 11 12 13

5 5 6 7 8 9 A B C D E F 10 11 12 13 14

6 6 7 8 9 A B C D E F 10 11 12 13 14 15

7 7 8 9 A B C D E F 10 11 12 13 14 15 16

8 8 9 A B C D E F 10 11 12 13 14 15 16 17

9 9 A B C D E F 10 11 12 13 14 15 16 17 18

A A B C D E F 10 11 12 13 14 15 16 17 18 19

B B C D E F 10 11 12 13 14 15 16 17 18 19 1A

C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B

D D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C

E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D

F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E

Page 34: Homework Hints

34

Example: BA16 + AB16

(1) BA16

+AB16

------------

516

BA16

+AB16

------------

16516

Page 35: Homework Hints

35

Hexadecimal subtraction Convert both numbers into binary as described

in slide 5 Convert the second number into it’s negative

by Flipping each bit (0->1, 1->0) Add binary 1 to the number, remembering the

following rules: 0+0=0, 0+1=1, 1+0=1, 1+1=10

Add the two numbers If the carry into the leftmost digit is not the

same as the carry out, define it as an overflow

Page 36: Homework Hints

36

Example: BA16 - AB16 BA16 AB16

1011 1010 1010 10110000000010111010 0000000010101011

00000000101110102

- 00000000101010112

negate 00000000101010112 -> 1111111101010100+ 1 1111111101010101

00000000101110102

+11111111010101012

00000000000011112

0000 0000 0000 11112

000F16

Page 37: Homework Hints

37

Alternative algorithm:hexadecimal subtraction table borrow not needed borrow needed

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 0 1 2 3 4 5 6 7 8 9 A B C D E F

1 F 0 1 2 3 4 5 6 7 8 9 A B C D E

2 E F 0 1 2 3 4 5 6 7 8 9 A B C D

3 D E F 0 1 2 3 4 5 6 7 8 9 A B C

4 C D E F 0 1 2 3 4 5 6 7 8 9 A B

5 B C D E F 0 1 2 3 4 5 6 7 8 9 A

6 A B C D E F 0 1 2 3 4 5 6 7 8 9

7 9 A B C D E F 0 1 2 3 4 5 6 7 8

8 8 9 A B C D E F 0 1 2 3 4 5 6 7

9 7 8 9 A B C D E F 0 1 2 3 4 5 6

A 6 7 8 9 A B C D E F 0 1 2 3 4 5

B 5 6 7 8 9 A B C D E F 0 1 2 3 4

C 4 5 6 7 8 9 A B C D E F 0 1 2 3

D 3 4 5 6 7 8 9 A B C D E F 0 1 2

E 2 3 4 5 6 7 8 9 A B C D E F 0 1

F 1 2 3 4 5 6 7 8 9 A B C D E F 0

Page 38: Homework Hints

38

Example: BA16 - AB16

A B 1A16

- A B16

------------

F16