ビット処理演算子 (F#)

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

ビット処理演算子の概要

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

[演算子]

説明

&&&

ビットごとの AND 演算子。両方のソース オペランドの対応するビットが 1 の場合にのみ、結果のビットの値が 1 になります。

|||

ビットごとの OR 演算子。ソース オペランドの対応するビットのいずれかが 1 の場合、結果のビットの値は 1 になります。

^^^

ビットごとの排他的 OR 演算子。ソース オペランドのビットの値が等しくない場合、結果のビットの値は 1 になります。

~~~

ビットごとの否定演算子。この演算子は単項演算子で、ソース オペランドのビットをすべて反転 (0 の場合は 1 に、1 の場合は 0 に変換) した結果を生成します。

<<<

ビットごとの左シフト演算子。2 番目のオペランドのビット数だけ、最初のオペランドの各ビットを左にシフトします。最上位の位置から左にシフトされたビットは最下位の位置に循環しません。シフトによって空になった最下位ビットには 0 が埋め込まれます。2 番目の引数の型は int32 です。

>>>

ビットごとの右シフト演算子。2 番目のオペランドのビット数だけ、最初のオペランドの各ビットを右にシフトします。最下位の位置から右にシフトされたビットは最上位の位置に循環しません。unsigned 型の場合、シフトによって空になった最上位ビットには 0 が埋め込まれます。signed 型の場合、最上位ビットには 1 が埋め込まれます。2 番目の引数の型は int32 です。

ビット処理演算子で使用できる型は、byte、sbyte、int16、uint16、int32 (int)、uint32、int64、uint64、nativeint、および unativeint です。

参照

関連項目

シンボルと演算子のリファレンス (F#)

算術演算子 (F#)

ブール演算子 (F#)