このトピックでは、F# で使用できるビット演算子について説明します。
ビットごとの演算子の概要
次の表では、F# のボックス化されていない整数型でサポートされるビット演算子について説明します。
オペレーター | 注記 |
---|---|
&&& |
ビットごとの AND 演算子。 両方のソース オペランドの対応するビットが 1 の場合にのみ、結果のビットの値は 1 になります。 |
||| |
ビットごとの OR 演算子。 ソース オペランドの対応するビットのいずれかが 1 の場合、結果のビットの値は 1 になります。 |
^^^ |
ビットごとの排他的 OR 演算子。 結果のビットは、ソース オペランドのビットの値が等しくない場合にのみ、値 1 になります。 |
~~~ |
ビットごとの否定演算子。 これは単項演算子であり、ソース オペランド内のすべての 0 ビットが 1 ビットに変換され、1 ビットすべてが 0 ビットに変換される結果が生成されます。 |
<<< |
ビットごとの左シフト演算子。 結果は、2 番目のオペランドのビット数だけ左にシフトされたビットを持つ最初のオペランドです。 最上位の位置からシフトされたビットは、最下位位置には回転されません。 下位ビットにはゼロが埋め込まれます。 2 番目の引数の型は int32 。 |
>>> |
ビットごとの右シフト演算子。 結果は、2 番目のオペランドのビット数だけ右にシフトされたビットを持つ最初のオペランドです。 最下位位置からシフトしたビットは、最も重要な位置に回転されません。 符号なし型の場合、最上位ビットはゼロで埋め込まれます。 負の値を持つ符号付き型の場合、最上位ビットは 1 つで埋め込まれます。 2 番目の引数の型は int32 。 |
ビットごとの演算子には、 byte
、 sbyte
、 int16
、 uint16
、 int32 (int)
、 uint32
、 int64
、 uint64
、 nativeint
、 unativeint
の各型を使用できます。
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET