ビット処理演算子

このトピックでは、F# で使用できるビット処理演算子について説明します。

ビット処理演算子の概要

次の表では、F# のボックス化解除された整数型でサポートされるビット処理演算子について説明します。

演算子 Notes
&&& ビット処理 AND 演算子。 結果のビットは、両方のソース オペランドの対応するビットが 1 の場合にのみ、値 1 を持ちます。
||| ビット処理 OR 演算子。 結果のビットは、ソース オペランドの対応するビットのいずれかが 1 の場合にのみ、値 1 を持ちます。
^^^ ビット処理排他的 OR 演算子。 結果のビットは、ソース オペランドのビットの値が等しくない場合にのみ、値 1 を持ちます。
~~~ ビット処理否定演算子。 これは単項演算子で、ソース オペランドのすべての 0 ビットが 1 ビットに変換され、すべての 1 ビットが 0 ビットに変換された結果を生成します。
<<< ビット処理左シフト演算子。 結果は、ビットが 2 番目のオペランドのビット数だけ左にシフトされた最初のオペランドです。 最上位の位置からシフトされたビットは、最下位の位置に回転されません。 最下位ビットに 0 が埋め込まれています。 2 番目の引数の型が int32 です。
>>> ビット処理右シフト演算子。 結果は、ビットが 2 番目のオペランドのビット数だけ右にシフトされた最初のオペランドです。 最下位の位置からシフトされたビットは、最上位の位置に回転されません。 符号なしの型では、最上位ビットに 0 が埋め込まれます。 負の値を持つ符号付きの型では、最上位ビットに 1 が埋め込まれます。 2 番目の引数の型が int32 です。

次の型は、ビット処理演算子と共に使用できます: bytesbyteint16uint16int32 (int)uint32int64uint64nativeintunativeint

関連項目