論理積
読み:ろんりせき
外語:AND

 論理演算における積算演算(掛け算)のこと。
目次

概要
 二項演算であり、入力された論理の両方が(true)の場合のみ真値が出力され、さもなくば(false)が出力される。
 

論理回路
 二つの入力は、逆方向のダイオードを介して接続する。これを二つに分けて、片方をプルアップし、もう片方を出力とする。
 
 入力AとBが共にローレベル(0V)である時、双方のダイオードに電流が流れる。この時は出力はほぼ0V(約0.7V)のローレベルとなり、これは偽(false)である。
 入力A・Bの一方がハイレベル(5V)である時、そのダイオードには電流が流れない。しかしもう片方のダイオードに電流が流れるため、この時も出力はローレベルとなり、これは偽(false)である。
 入力A・Bが共にハイレベル(5V)である時、双方のダイオードに電流が流れない。この時、出力に電流が流れるため、出力はハイレベルとなり、これは真値(true)である。

記述方法
 数学や論理学(述語論理)では、一般に演算子に∧を使う(例: A∧B)。
 回路設計では演算子に中黒記号の・を使うことが多い(例: A・B)。

ビット演算
 プログラムで記述する場合、CC++Javaでは「x = a & b」のように、BASICでは「X = A And B」のように使う。
 二つの式の真偽が同じ場合に真、真偽が異なる場合に偽となる。実際の用法としては、ビット列から特定のビットを落とす用途に使われる。
 8ビットデータ中の下位4ビットを0とする例。outdata = indata & 0xf0;

再検索