これが、やっかいなんですよね(^^;2進数の考え方の勉強が必要なので、ここで説明します。
| 10進数 | 2進数 |
使う記号は? | 0〜9の10種類 | 0〜1の2種類 |
左隣の位は何倍? | 10倍 | 2倍 |
さて、実際の数字を見比べてみましょう。
位 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
123 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
どうしても、二進数の方が桁数が多くなってしまいます。さて、10進数はどのように数字を表しているかというと
123=1×100+2×10+3×1
と表すので、2進数も同じように表します。でも、1か0だけなのでかけ算を用いるまでもなく
123=64+32+16+8+2+1
となります。また、各桁を見ると必ず左隣の2倍に成っていますね。っと、ここまでが2進数のお話です。
やっと、これでビットの説明ができます。ビットというのは
「2進数の桁数のこと」(正確には違うのですが(^^;)を意味します。先ほどの123という数字は
7ビットということになります。
実際には、8ビットをひとかたまりとして扱うことが多いです(この8ビットを1バイトといいます)。で、この8ビットで表せる
ことができる数字は0〜255までの数字となります(ファミコン時代のドラゴンクエストの最大HPやMPがなぜ255だったのか、それは
ビットで考えるとちょうどいい数字だったからなのです(^^))。さて、ビットのイメージはできたでしょうか?
次に、論理演算というものを少し・・・これは、ビットで計算するときに使うものです。といってもて
ふつうの四則演算よりも簡単です。なにせ0と1しかないのですから(^^)
| | 和 | 積 | 排他的 |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 0 |
あるものは、論理和、論理積、排他的論理和、否定、この4種類です。最初の二つは単順に和と
積です。ただし、これは2進数ではないので、1+1=10というふうには成りません。
言葉で説明しますと
論理和:どちらが1であれば他方によらず答えは1
論理積:両方が1であれば答えは1
排他的論理和:二つが違えば答えは1
否定:0であれば答えは1