boole (AutoLISP)

ビット方式の汎用ブール演算関数です。

サポートされているプラットフォーム: Windows および Mac OS

構文と要素

(boole operator int1 [int2 ...])
operator

タイプ: 整数型

0(ゼロ)から 15 の範囲の整数で、2 つの変数に対して実行可能な 16 のブール関数を表します。

int1, int2...

タイプ: 整数型

数値

注: boole 関数は単一の引数を受け入れますが、結果は不定です。

戻り値

タイプ: 整数型

数値

注意

後続の整数の引数を、次の真偽値表に基づいて、ビット方式で(論理的に)結合します。

論理演算の真偽値表

Int1

Int2

operator のビット

0

0

8

0

1

4

1

0

2

1

1

1

int1 の各ビットは int2 のビットとペアとなり、このペアは上の真偽値表のいずれか 1 行に該当します。結果として得られるビットは 0(ゼロ)か 1 のどちらかです。これは、真偽値表の該当する行に対応する operator ビットの設定によって決まります。

該当する operator ビットが設定されていると、結果のビットは 1 になり、それ以外の場合は 0(ゼロ)になります。operatorの値には、標準の論理演算 ANDORXORNOR に相当するものもあります。

論理演算関数のビット値

operator

演算

結果のビットが 1 になる条件

1

AND

入力ビットがともに 1

6

XOR

入力ビットの一方のみが 1

7

OR

入力ビットの少なくとも一方が 1

8

NOR

入力ビットがともに 0(1 の補数)

次の例では、12 と 5 の AND (論理積)を指定しています。

(boole 1 12 5)
3

operator 引数にその他の値を指定すると、特殊なブール演算を実行できます。たとえば、operator が 4 の場合、int2 のあるビットがオンに設定されていて、そのビット対応する int1 のビットがオフの場合、そのビットをオンに設定します。

(boole 4 3 14)
12