Binary Shifts (Cambridge (CIE) O Level Computer Science)
Revision Note
Written by: Robert Hampton
Reviewed by: James Woodhouse
Binary Shifts
What is a logical binary shift?
A logical binary shift is how a computer system performs basic multiplication and division on non-negative values (0 and positive numbers)
Binary digits are moved left or right a set number of times
A left shift multiplies a binary number by 2 (x2)
A right shift divides a binary number by 2 (/2)
A shift can move more than one place at a time, the principle remains the same
A left shift of 2 places would multiply the original binary number by 4 (x4)
How do you perform a logical left shift of 1?
Here is the binary representation of the denary number 40
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|
0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
To perform a left logical binary shift of 1, we move each bit 1 place to the left
The digit in the 128 column (MSB) will move left causing an overflow error
The 1 column becomes empty so is filled with a 0
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|
---|---|---|---|---|---|---|---|---|
0 | 1 | 0 | 1 | 0 | 0 | 0 | = 40 | |
0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | = 80 |
The original binary representation of denary 40 (32+8) was multiplied by 2 and became 80 (64+16)
How do you perform a logical left shift of 2?
Here is the binary representation of the denary number 28
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
To perform a left binary shift of 2, we move each bit 2 places to the left
The digit in the 128 (MSB) and 64 column will move left causing an overflow error
The 1 and 2 column become empty so are filled with a 0
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|
---|---|---|---|---|---|---|---|---|
0 | 1 | 1 | 1 | 0 | 0 | = 28 | ||
0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | = 112 |
The original binary representation of denary 28 (16+8+4) was multiplied by 4 and became 112 (64+32+16)
How do you perform a logical right shift of 1?
Here is the binary representation of the denary number 40
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|
0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
To perform a right binary shift of 1, we move each bit 1 place to the right
The digit in the 1 column (LSB) will move right causing an underflow error
The 128 column becomes empty so is filled with a 0
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|
---|---|---|---|---|---|---|---|---|
0 | 0 | 1 | 0 | 1 | 0 | 0 | = 40 | |
0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | = 20 |
The original binary representation of denary 40 (32+8) was divided by 2 and became 20 (16+4)
How do you perform a logical right shift of 2?
Here is the binary representation of the denary number 200
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|
1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
To perform a right binary shift of 2, we move each bit 2 places to the right
The digits in the 1 (LSB) and 2 columns will move right causing an underflow error
The 128 and 64 columns become empty so are filled with a 0
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|
---|---|---|---|---|---|---|---|---|
1 | 1 | 0 | 0 | 1 | 0 | = 200 | ||
0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | = 50 |
The original binary representation of denary 200 (128+64+8) was divided by 4 and became 50 (32+16+2)
Last updated:
You've read 0 of your 5 free revision notes this week
Sign up now. It’s free!
Did this page help you?