Stores the result of shifting a value’s binary representation the specified number of digits to the right in the left-hand-side variable.
SDK
Xcode 9.0+
Framework
Swift Standard Library
Declaration
Parameters
lhs
The value to shift.
rhs
The number of bits to shift lhs to the right.
Discussion
The >>= operator performs a smart shift, which defines a result for a shift of any value.
Using a negative value for rhs performs a left shift using abs(rhs).
Using a value for rhs that is greater than or equal to the bit width of lhs is an overshift. An overshift results in -1 for a negative value of lhs or 0 for a nonnegative value.
Using any other value for rhs performs a right shift on lhs by that amount.
The following example defines x as an instance of UInt8, an 8-bit, unsigned integer type. If you use 2 as the right-hand-side value in an operation on x, the value is shifted right by two bits.
If you use 11 as rhs, x is overshifted such that all of its bits are set to zero.
Using a negative value as rhs is the same as performing a left shift using abs(rhs).
Right shift operations on negative values “fill in” the high bits with ones instead of zeros.
Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width.
Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width.
Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width.
Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width, and stores the result in the left-hand-side variable.
Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width, and stores the result in the left-hand-side variable.
Returns the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width.
Returns the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width.
Returns the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width.
Calculates the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width, and stores the result in the left-hand-side variable.
Calculates the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width, and stores the result in the left-hand-side variable.