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.
Required. Default implementation provided.
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 left. Ifrhs
is outside the range0..<lhs
, it is masked to produce a value within that range..bit Width
Discussion
The &<<=
operator performs a masking shift, where the value used as rhs
is masked to produce a value in the range 0..<lhs
. The shift is performed using this masked value.
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 shift amount requires no masking.
However, if you pass 19
as rhs
, the method first bitmasks rhs
to 3
, and then uses that masked value as the number of bits to shift lhs
.