3欠片目:ビット演算の基本
こんにちは!小学校の卒業アルバムの「将来の夢」を書く欄に、何故か「フリーター」と書いていたvoidです!
今回は、ブログ4回目にしてようやくプログラム的なお話をしようと思います!
ビット演算って何さ?
ビット同士の演算、すなわちデータを2進数で表したときの各ビット毎で行う演算のことです。
2進数とは何か?
私たちが普段使っている10進数に対して、コンピュータでは2進数が使われています。
10進数は0~9までの10個の数字を使って数を表すのに対し、2進数は0,1の2個の数字のみを使って数を表します。
表にするとこんな感じです
で、ビット演算ってなにさ?
ビット演算には3つの種類があります。
演算の種類 | 演算記号 | 演算の内容 |
---|---|---|
ビット和(OR) | | | どちらかが1ならば1 |
ビット積(AND) | & | どちらともが1ならば1 |
ビット差(XOR) | ^ | 互いに異なれば1 |
※書式の都合上記号は全角文字になっています。
...いまいち分かりませんね、では計算例を見てみましょう
1と3のビット和 |
1 | 3 → 0001 | 0011
このように、各ビット毎の上と下どちらかが1であれば1になります。
つまり1 | 3 = 3となります。
1と3のビット積 |
1 & 3 → 0001 & 0011
このように、各ビット毎の上と下どちらともが1であれば1になります。
つまり1 & 3 = 1となります。
1と3のビット差 |
1 ^ 3 → 0001 ^ 0011
このように、各ビット毎の上と下が互いに異なっていれば1になります。
つまり1 ^ 3 = 2となります。
本日はここまで
中の人が力尽きたので本日はここまでとしたいと思います。
間違いのないように書いているつもりですが、間違いを見つけた際はご指摘頂ければ幸いです。
明日は、ビット演算の応用的な使い方を書いていこうと思います。ではまた!