演算子


<<(_:_:)


値の二進表現を指定された桁数だけ左にシフトした結果を返します。


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: Self, rhs: RHS) -> Self where RHS : BinaryInteger

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





パラメータ


lhs

シフトすべき値。


rhs

lhs を左にシフトすべきビット数。



議論


<< 演算子は スマート シフト を実行し、任意の値のシフトの結果を定義します。


  • rhs に負の値を使用すると、abs(rhs) を使用した右シフトが実行されます。

  • rhs の値に lhs のビット幅以上の値を使用すると オーバーシフト となり、結果はゼロになります。

  • rhs にそれ以外の値を使用すると、lhs がその量だけ左シフトされます。

  • 以下の例では、x を8ビットの符号なし整数型 UInt8 のインスタンスとして定義しています。x の演算において右辺の値として 2 を使用すると、値は 2 ビット左にシフトされます。


    1. let x: UInt8 = 30 // 0b00011110
    2. let y = x << 2
    3. // y == 120  // 0b01111000

    rhs として 11 を使用すると、x はオーバーシフトされ、そのすべてのビットが 0 に設定されます。


    1. let z = x << 11
    2. // z == 0 // 0b00000000

    rhs として負の値を使用することは、abs(rhs) を使用して右シフトを実行することと同じです。


    1. let a = x << -3
    2. // a == 3 // 0b00000011
    3. let b = x >> 3
    4. // b == 3 // 0b00000011

    デフォルトの実装


    BinaryInteger の実装


    static func << <RHS>(Self, RHS) -> Self

    値の二進表現を指定された桁数だけ左にシフトした結果を返します。


    static func << <Other>(Self, Other) -> Self

    値の二進表現を指定された桁数だけ左にシフトした結果を返します。













    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ