|
October 19, 1999 The Bitwise Right Shift Operator Tips: October 1999
Yehuda Shiran, Ph.D.
|
|
The bitwise right shift operator shifts the first operand the specified number of bits to the right. The first operand is a 4-byte integer to be shifted. The second operand specifies the number of bits to shift. All bits shifted out to the right are discarded. New bits coming in from the left are either 0s (when the number is positive) or 1s (when the number is negative). Right shifting preserves the sign of the operand, because the MSB (Most Significant Bit) determines the sign the number: it is 0 for positive numbers and 1 for negative numbers. Let's right shift a positive number first, the decimal 176, by three:
Let's do a simple calculation:
Right shifting a number n places is the same as dividing it by 2n. Right shifting preserves the operand's sign and thus this rule applies to negative numbers as well. Normally, you would not divide a number by right shifting it, because it is not clear to the reader. You would probably use it only when the performance is a critical factor.
People who read this tip also read these tips: Look for similar tips by subject: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||