28
Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Embed Size (px)

Citation preview

Page 1: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Number Systems Part 2

Numerical OverflowRight and Left ShiftsStorage MethodsSubtractionRanges

Page 2: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Numerical OverflowAn overflow is when something

doesn’t fit in a certain space

Numeric overflow is when the storage for a calculation is too small to hold the result

For example we have an 8 bits register, if we add two binary numbers and the result turns out to be 9 bits it would not fit in the register

Page 3: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Example Let’s say we have an 8 bit

register

Add the following;

Do we have an overflow?

11111111+

10101010

Page 4: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Numerical OverflowWhen we have a numeric overflow we

will have an error in our calculation

When we have an overflow we would need to remove the extra bit at the start of the number

Lets say we had a 7 bit register and the result of a calculation is 11001100 the actual answer would be 1001100

Page 5: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Example Let’s say we have a 7 bit register

Add the following;

Do we have an overflow? Actual answer =

1101111+

1101101

Page 6: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Working Suppose we have a 4 bit

registers.1. Perform the additions2. Is there and overflow?3. What is the actual answer?1110+ 0101+ 1101+

1111 0110 0100

Page 7: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Answers

1110+ 0101+ 1101+

1111 0110 0100

11101 1011 10001

Page 8: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

What is Bit Shifting?Bit shifting is the process of moving

all the bits in a binary number

We have two shifts1. A right shift2. A left shift

The right shift would divide the number while the left would multiply it

Page 9: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Right Shift The right shift is used to perform divisions

Hence if we where to perform three right shifts we would be diving the number by 2 three times

For example if we shift 101100112, = 17910 right by three places, we get 000101102 = 2210

179 /2 = 89 90/2 = 44 45/2 = 22

Page 10: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

How Right Shifts work Lets say we have 11001012 and

we wish to perform 2 right shifts

1 1 0 0 1 0 11st Shift right

0 1 1 0 0 1 0 1

LOST0 ADDED

2nd Shift right

0 0 1 1 0 0 1 0ANS =

Page 11: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Working Shift the numbers to the right by

the number of shifts indicated in the brackets;

1. 1000110 (2)2. 1110001 (4)3. 1111000 (1)4. 01010101 (4)5. 0000111 (3)

Change to decimal to check your answers

Page 12: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

1000110 70 1110001 113 1111000 120

0100011 35 0111000 56 0111100 60

0010001 17 0011100 28

0001110 14

0000111 7

01010101 85 0000111 7

00101010 42 0000011 3

00010101 21

00001010 10

00000101 5

0000001 1

0000000 0

Page 13: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Left ShiftThe left shift is used to perform

multiplications

Hence if we where to perform four left shifts we would be multiplying the number by 2 four times

If any bits are lost when shifting left the result is no longer accurate

For example if we shift 011001012, = 10110 left by one place, we get 110010102 = 20210

101 x 2 = 202

Page 14: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

How Left Shifts work Lets say we have 011001012 and

we wish to perform 2 left shifts

0 1 1 0 0 1 0 1

1 1 0 0 1 0 1 00LOST

1 0 0 1 0 1 0 01

Answer no longer correct as a 1 was lost

1st Left Shift

2nd Left Shift

Page 15: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Working Shift the numbers to the left by the

number of shifts indicated in the brackets, also state which answers are not correct.

1. 0000110 (4)2. 1110001 (3)3. 0011110 (1)4. 01010101 (2)5. 0000111 (3)

Change correct answers to decimal to check your answers

Page 16: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

0000110 6 1110001 0011110 30

0001100 12 1100010 0111100 60

0011000 24

0110000 48

1100000 96

1000100

0001000

Not correct

01010101 0000111 7

10101010 0001110 14

01010100

Not Correct

0011100 28

0111000 56

Page 17: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Storage MethodsWhen we have a fixed register we

might want to store out binary number in a certain way

The three ways are using;1. sign and magnitude (first digit is

0 = positive, first digit is1 = negative)

2. one’s complement 3. two’s complement.

Page 18: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Example 1Lets say we have a register of 8-bits

and we wish to store the number 1410

Since the number is positive, all we need to do is convert it to binary and store it

It would be the same in the three different storage methods, 1410 = 000011102

Page 19: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Example 2Lets say I have an 8 bit register

and want to store -1410

The number now changes since it is negative, we first change it to binary = 000011102

Sign and Magnitude 10001110 Note that the fist digit is 1 because in this

case 14 is a negative number.

One’s Complement 11110001 In this case we simply applied NOT on the

binary value of 14.

Two’s Complement 11110010 We change the binary number 14 into two’s complement

Page 20: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

WorkingConvert the following to;a) Sign and magnitudeb) One’s Complementc) Two’s Complement Size of register is indicated in the brackets.1. 3310 (8)

2. -6010 (9)

3. -4410 (7)

4. 1010 (5)

5. -7410 (10)

Page 21: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

SubtractionWe are able to subtract using binary

numbers thanks to Two’s Complement

When we need to subtract in binary we first need to change the negative number to Two’s Complement

if we have 22 – 10 we have to change 10 to Two’s Complement then perform an addition

Binary numbers must be of the same length in order to subtract in binary

Page 22: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

ExampleWe want to perform the following

subtraction in binary;

22 - 10110 - 10110+

10 01010 10110

12 101100

Change to

Binary Two’s Complement

Overflow

Page 23: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

WorkingPerform the following

subtractions in binary;

1. 30-20 2. 100 – 503. 50 – 254. 5 – 25. 66- 60

Page 24: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

RangesA ranges determines the lowest

and the highest values which can be represented by a certain register

We will be going through two types of ranges using binary;

1. normal binary2. two’s complement.

Page 25: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Normal Binary What is the range of numbers

which can be represented using 8-bits?

Since we have 8 Bits, the maximum value represented in binary is 11111111 and the smallest is 00000000.

If we convert these numbers to decimal we end up with: 0 to 255

Page 26: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Example What is the range of numbers

which can be represented using 5-bits?

Since we have 5 Bits, the maximum value represented in binary is 11111 and the smallest is 00000.

If we convert these numbers to decimal we end up with: 0 to 31

Page 27: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Two’s Complement What is the range of numbers which can be

represented using 8-bits in two’s complement?

The first number in two’s complement identifies the number as a negative number, the highest possible positive number is 011111112 = 12710

To find the smallest number we convert the positive number to negative so in this case -12710.

The range is: -127 to 126 (126 due to the 0)

Page 28: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges

Example What is the range of numbers which

can be represented using 10-bits in two’s complement?

01111111112 = 51110

51110 becomes negative to show the smallest number helps = -51110.

The range is: -511 to 510