演算子
<<=(_:_:)
値の二進表現を指定された桁数だけ左にシフトした結果を左辺の変数に格納します。
iOS 8.0+ iPadOS 8.0+ macOS 10.10+ Mac Catalyst 13.0+
tvOS 9.0+ watchOS 2.0+ visionOS 1.0+
static func <<= <RHS>(lhs: inout Self, rhs: RHS) where RHS : BinaryInteger
必須 デフォルトの実装が提供されます。
パラメータ
lhs
シフトすべき値。
rhs
lhs を右にシフトすべきビット数。
議論
<< 演算子は スマート シフト を実行し、任意の値のシフトの結果を定義します。
rhs に負の値を使用すると、abs(rhs) を使用した右シフトが実行されます。
rhs の値に lhs のビット幅以上の値を使用すると オーバーシフト です。結果はゼロになります。
rhs にそれ以外の値を使用すると、lhs がその量だけ左シフトされます。
以下の例では、x を8ビットの符号なし整数型 UInt8 のインスタンスとして定義しています。x の演算において右辺の値として 2 を使用すると、値は 2 ビット右にシフトされます。
- var x: UInt8 = 30 // 0b00011110
- x <<= 2
- // y == 120 // 0b01111000
rhs として 11 を使用すると、x はオーバーシフトされ、そのすべてのビットが 0 に設定されます。
- var y: UInt8 = 30 // 0b00011110
- y <<= 11
- // y == 0 // 0b00000000
rhs として負の値を使用することは、abs(rhs) を使用して右シフトを実行することと同じです。
- var a: UInt8 = 30 // 0b00011110
- a <<= -3
- // a == 240 // 0b11110000
- var b: UInt8 = 30 // 0b00011110
- b >>= 3
- // b == 240 // 0b11110000
デフォルトの実装
BinaryInteger の実装
static func <<= <Other>(inout Self, Other)
値の二進表現を指定された桁数だけ左にシフトした結果を左側の変数に格納します。
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ