FreeBASIC マニュアルのトップに戻る

FreeBASIC OpAnd

目次演算子論理演算子Operator AND (Conjunction)←オリジナル・サイト

演算子 AND (論理積) 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい


2つの数値の、ビット And (論理積) を返します。

構文:
declare operator And ( byref lhs as T1, byref rhs as T2 ) as Ret

用法:
result = lhs And rhs

パラメタ:
lhs
式の左側。
T1
数値型か論理型のいずれか。
rhs
式の右側。
T2
数値型か論理型のいずれか。
Ret
数値型か論理型 (T1T2 によって変わる)

戻り値:
二つの演算対象の、ビット AND (論理積) を返します。

記述:
この演算子は、その演算対象のビット and を返します。ビット and とは、演算対象のビットに従った、ビット組合せの値を返す、論理演算です。
(ブーリアンの整数への変換では、論理値の誤は 整数値 0 に、真は -1 になります)

下の真理値表は、論理(ブール) and 操作の、すべての組み合わせを示しています:

Lhs ビット Rhs ビット 結果
0 0 0
1 0 0
0 1 0
1 1 1

短絡 は行われません - 両方の式は、常に評価されます。

戻り値の型は、渡された値の型に頼ります。
Byte, Ubyte と浮動小数点型の値は、最初に、Integer に変換されます。
左と右の型が、符号だけ異なるなら、戻り値の型は、左側 (T1) の型と同じです。そうでなければ、2つの型の、より大きい方の型を返します。
左側と右側の両方が Boolean 型の場合だけ、戻り型も Boolean です。

この演算子を、ユーザ定義型のために、多重定義することができます。

例:
' 2つの数値で AND 演算子を使う
Dim As UByte numeric_value1, numeric_value2
numeric_value1 = 15 '00001111
numeric_value2 = 30 '00011110

'結果 =  14  =     00001110
Print numeric_value1 And numeric_value2
Sleep



' 2つの条件式で AND 演算子を使う
Dim As UByte numeric_value1, numeric_value2
numeric_value1 = 15
numeric_value2 = 25

If numeric_value1 > 10 And numeric_value1 < 20 Then Print "Numeric_Value1 は、10 〜 20 です。"
If numeric_value2 > 10 And numeric_value2 < 20 Then Print "Numeric_Value2 は、10 〜 20 です。"
Sleep

' このプログラムは、「Numeric_Value1 は、10 〜 20 です。」を出力します。
' IF 命令文の両方の条件が、当てはまる(真)からです。
' 2番目の IF 命令文の結果は、出力されません。
' 最初の条件は真ですが、2番目は偽だからです。
 


方言差:

QBからの違い:

参照:
論理演算子 に戻る
演算子 に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2016-03-13 05:03:47
日本語翻訳:WATANABE Makoto、原文著作者:LaananFisher

ホームページのトップに戻る

表示-非営利-継承