static func &>> <Other>(Self, Other) -> Self
The value to shift. シフトする値。
Availability
Technology
static func &>> (lhs: Self, rhs: Self) -> Self
lhs
The value to shift. シフトする値。
rhs
The number of bits to shift lhs
to the right. If rhs
is outside the range 0..<lhs
, it is masked to produce a value within that range.
このビット数をlhs
から右へとシフトします。rhs
が範囲0..<lhs
の外側ならば、それはマスクされてその範囲内の値を生み出します。
Use the masking right shift operator (&>>
) when you need to perform a shift and are sure that the shift amount is in the range 0..<lhs
. Before shifting, the masking right shift operator masks the shift to this range. The shift is performed using this masked value.
マスク右シフト演算子(&>>
)を、あなたがあるシフトを実行する、そしてシフト量が範囲0..<lhs
の中であるのを確実にする必要がある場合に使ってください。シフトする前に、マスク右シフト演算子は、シフトをマスクしてこの範囲にします。シフトは、このマスクされた値を使って実行されます。
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.
以下の例は、x
をUInt8
のインスタンス、ある8ビットの、符号なし整数型として定義します。あなたが2
を右手側の値としてx
に関する演算において使うならば、シフト量はマスクを必要としません。
However, if you use 8
as the shift amount, the method first masks the shift amount to zero, and then performs the shift, resulting in no change to the original value.
しかしながら、あなたが8
をシフト量として使うならば、メソッドは最初にそのシフト量をマスクしてゼロにして、それからシフトを実行して、元の値に対して変更しないという結果になります。
If the bit width of the shifted integer type is a power of two, masking is performed using a bitmask; otherwise, masking is performed using a modulo operation. シフトされる整数型のビット幅が2の冪ならば、マスクはビットマスクを使って実行されます;そうでなければ、マスクはモジュロ演算を使って実行されます。
static func &>> <Other>(Self, Other) -> Self