number systems part 2 numerical overflow right and left shifts storage methods subtraction ranges
TRANSCRIPT
![Page 1: Number Systems Part 2 Numerical Overflow Right and Left Shifts Storage Methods Subtraction Ranges](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081516/56649e405503460f94b310e8/html5/thumbnails/28.jpg)
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