演算子


&>>=(_:_:)


値の二進表現を指定された桁数だけ右にシフトした結果を計算し、シフト量を型のビット幅にマスクして、結果を左辺の変数に格納します。


iOS 8.0+ iPadOS 8.0+ Mac Catalyst 13.0+ macOS 10.10+

tvOS 9.0+ visionOS 1.0+ watchOS 2.0+

static func &>>= (lhs: inout Self, rhs: Self)

必須 デフォルトの実装が提供されます。





パラメータ


lhs

シフトすべき値。


rhs

lhs を右にシフトすべきビット数。rhs0..<lhs.bitWidth の範囲外にある場合、その範囲内の値を生成するためにそれはマスクされます。



議論


rhs に渡された値はマスクされ、0..<lhs.bitWidth の範囲の値が生成され、&>>= 演算子は マスクシフト を実行します。シフトはこのマスクされた値を用いて実行されます。


以下の例では、x を 8 ビットの符号なし整数型 UInt8 のインスタンスとして定義しています。x への演算で右辺の値として 2 を使用する場合、シフト量にマスクは不要です。


  1. var x: UInt8 = 30 // 0b00011110
  2. x &>>= 2
  3. // x == 7// 0b00000111

ただし、rhs として 19 を使用する場合、この操作では最初に rhs を 3 にビットマスクし、次にそのマスクされた値を lhs をシフトするビット数として使用します。


  1. var y: UInt8 = 30 // 0b00011110
  2. y &>>= 19
  3. // y == 3// 0b00000011




デフォルトの実装


FixedWidthInteger の実装


static func &>>= <Other>(inout Self, Other) -> Self

値の二進表現を指定された桁数だけ右にシフトした結果を計算し、シフト量を型のビット幅にマスクして、結果を左辺の変数に格納します。














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ