Page6
算術演算のお話が続きます。
ここもプログラム言語で使ってはじめて、
ありがたみが解るので、ちょっと難しいかもしれません。
その6 論理和 …OR 演算子
どちらか少なくとも一つのビットが1なら1、
どちらも0なら0です。まずは例を見て下さい。
| OR 例1 |
10進数 |
2進数 |
位(桁)に分解 |
| |
12 |
1100 |
8+4 |
| OR |
6 |
110 |
4+2 |
| = |
14 |
1110 |
8+4+2 |
| OR 例2 |
10進数 |
2進数 |
位(桁)に分解 |
| |
9 |
1001 |
8+1 |
| OR |
26 |
11010 |
16+8+2 |
| = |
27 |
11011 |
16+8+2+1 |
これは10進数で理解するのは無理です。
10進数の合計は参考までで、全く意味はないです。
これは元々入っていたスイッチはそのままで、
更にいくつかスイッチを入れる、といった感じです。
BASIC等では「or」、C言語等では「|」が演算子です。
その7 排他的論理和 …XOR 演算子
どちらか片方だけのビットが1なら1、
両方0か両方1の場合は0です。まずは例を見て下さい。
| XOR 例1 |
10進数 |
2進数 |
位(桁)に分解 |
| |
12 |
1100 |
8+4 |
| XOR |
6 |
110 |
4+2 |
| = |
10 |
1010 |
8+2 |
| XOR 例2 |
10進数 |
2進数 |
位(桁)に分解 |
| |
9 |
1001 |
8+1 |
| XOR |
26 |
11010 |
16+8+2 |
| = |
19 |
10011 |
16+2+1 |
同じく10進数で理解するのは無理です。
二つのスイッチがぶつかった場合はどっちも
入れない、と言った所です。
BASIC等では「xor」、C言語等では「^」が演算子です。
その8 論理積 …AND演算子
どちらのビットも1なら1、それ以外は0です。
とりあえず例を見てみましょう。
| AND 例1 |
10進数 |
2進数 |
位(桁)に分解 |
| |
12 |
1100 |
8+4 |
| AND |
6 |
110 |
4+2 |
| = |
4 |
100 |
4 |
| AND 例2 |
10進数 |
2進数 |
位(桁)に分解 |
| |
9 |
1001 |
8+1 |
| AND |
26 |
11010 |
16+8+2 |
| = |
8 |
1000 |
8 |
同じく10進数で理解するのは無理です。
共通のスイッチを取り出す、と言った感じですね。
BASIC等では「and」、C言語等では「&」が演算子です。