The value to shift. シフトする値。
>>=(_:_:)
Availability
- iOS 8.0+
- iPadOS 8.0+
- macOS 10.10+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
- Xcode 9.0+
Technology
- Swift Standard Library Swift標準ライブラリ
Declaration 宣言
static func >>= <Other>(lhs: inout UInt64
, rhs: Other) where Other : BinaryInteger
Parameters パラメータ
lhs
rhs
The number of bits to shift
lhs
to the right. このビット数をlhs
から右へとシフトします。
Discussion 解説
The >>=
operator performs a smart shift, which defines a result for a shift of any value.
>>=
演算子は、ある賢いシフトを実行します、それは何らかの値のシフトに対する結果を定義します。
Using a negative value for
rhs
performs a left shift usingabs(rhs)
.rhs
に負の値を使うことは、abs(rhs)
を使って左シフトを実行します。Using a value for
rhs
that is greater than or equal to the bit width oflhs
is an overshift. An overshift results in-1
for a negative value oflhs
or0
for a nonnegative value.rhs
にlhs
のビット幅より大きいか等しい値を使うことは、オーバーシフトです。オーバーシフトは、負の値のlhs
に対して-1
または非負値に対して0
という結果になります。Using any other value for
rhs
performs a right shift onlhs
by that amount.rhs
に何か他の値を使うことは、右シフトを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 value is shifted right by two bits.
以下の例は、x
をUInt8
のインスタンス、ある8ビットの、符号なし整数型として定義します。あなたが2
をx
上での演算の右手側の値として使うならば、値は2ビットだけ右にシフトされます。
If you use 11
as rhs
, x
is overshifted such that all of its bits are set to zero.
あなたが11
をrhs
として使うならば、x
は、それのビットのすべてがゼロに設定されるような、オーバーシフトをされます。
Using a negative value as rhs
is the same as performing a left shift using abs(rhs)
.
rhs
として負の値を使うことは、abs(rhs)
を使って左シフトを実行するのと同じです。
Right shift operations on negative values “fill in” the high bits with ones instead of zeros. 負値上での右シフト演算は、高ビットを1で「満たします」、ゼロではなく。
Note 注意
This documentation comment was inherited from Binary
.
この文書化コメントは、Binary
から引き継がれました。