「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ビット演算

pointこの用語のポイント

pointビット(0か1)に着目するよ

pointビットのon/offを操作するよ

スポンサーリンク

簡単に書くよ

ビット演算(読:ビットエンザン 英:bitwise operation)とは

コンピュータさんの気持ちになって、直接「0」と「1」を操作するイメージで何かすること。
少し小難しい書き方をすると

ビット(0か1)に着目して、そのon/offを操作すること
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「ビット」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

ビットは、コンピュータさんの世界における「0か1が入る箱」です。

ビット演算

あるいは、この「0か1が入る箱」の数を表す単位です。
例えば「4ビット」であれば「0か1が入る箱が4つあるよ」の意味になります。

ビット演算2

ビットは

コンピュータが処理する最小単位

と言われています。

コンピュータさんは、実際はショボイやつです。
電気信号のonとoff、つまり「1」と「0」しか判別できません。

ビット演算3

ただし、この「1」と「0」を、た~くさん組み合わせることによって、数字や文字、あるいは画像動画などを扱っています。

ビット演算4

数字を例に見てみましょう。

ここに0か1が入る箱が1つありました。

ビット演算5

この状況で表現できる値は2つだけです。

・0
・1


に対応する何かを表現できます。

試しに、数字を2つ割り当ててみましょう。

・0:0
・1:1


とします。

0か1が入る箱が1つだけあるときは、数字の「0」と「1」を表現できました。

おっと、ピヨ太君が箱をもう1つ持ってきたようです。

ビット演算6

0か1が入る箱が2つになりました。

ビット演算7

箱が2つになると表現できる値は4つになります。

・0-0
・0-1
・1-0
・1-1


に対応する何かを表現できます。

せっかくなので数字を4つ割り当ててみましょう。

・0-0:0
・0-1:1
・1-0:2
・1-1:3


とします。

箱が1つのときは、表現できる数字は「0」と「1」の2つでした。
箱が2つになると、表現できる数字は「0」から「3」までの4つになりました。

おっと、ピヨ太君が、さらに箱をもう1つ持ってきたようです。

ビット演算8

0か1が入る箱が今度は3つになりました。

ビット演算9

箱が3つになると表現できる値は8つになります。

・0-0-0
・0-0-1
・0-1-0
・0-1-1
・1-0-0
・1-0-1
・1-1-0
・1-1-1


に対応する何かを表現できます。

せっかくなので数字を8つ割り当ててみましょう。

・0-0-0:0
・0-0-1:1
・0-1-0:2
・0-1-1:3
・1-0-0:4
・1-0-1:5
・1-1-0:6
・1-1-1:7


とします。

箱が1つのときは、表現できる数字は「0」と「1」の2つでした。
箱が2つになると、表現できる数字は「0」から「3」までの4つになりました。
箱が3つになると、表現できる数字は「0」から「7」までの8つになりました。

さらに箱の数を増やせば、より多くの数字を表現できるでしょう。

ビット演算10

さらにさらに箱の数を増やせば、数字だけではなく文字も表現できそうです。

ビット演算11

さらにさらにさらに箱の数を増やせば、画像とか動画も表現できるんじゃないですかね。

ビット演算12

このように、0か1が入る箱を たくさん使うことで、コンピュータさんは数字や文字、あるいは画像や動画などのデータを扱っているのです。

コンピュータの世界におけるデータの根源は「0か1が入る箱」です。
すべてのデータは

0か1の寄せ集め

であると言えます。

コンピュータさんが判別できる「0か1(が入る箱)」がビットです。
このビットを寄せ集めて、あれやこれやのデータが形作られています。

あるいは「0か1(が入る箱)」の数を表す単位が「ビット」です。
例えば「4ビット」であれば「0か1が入る箱が4つあるよ」の意味になります。

以上を踏まえて、本題に入ります。

繰り返しになりますが、コンピュータの世界には「0」と「1」しかありません。
「0」と「1」の組み合わせに人間様が適当な意味を割り当てて使っています。

ビット演算13

この「人間様が割り当てた適当な意味」を1回捨てて初心に立ち返ろう。

データは0と1の固まりだってことを思い出して操作しよう!

が「ビット演算」です。

例えば、そうですね。

「5」という数字を1つ左にずらしてみましょう。

「『5』を左にズラす」と言われるとピンと来ないかもしれませんが「『0000 0101』を左にズラす」と言われれば勘の良い方は分かるのではないでしょうか。
「0000 0101」は「5」を2進数(0と1の組み合わせ)で表したものです。

0000 0101

のビット(つまりは桁)を全部1つずつ左にズラして空いたところに「0」を埋めると

0000 1010

に なります。

ビット演算14

2進数の「0000 1010」は10進数に直すと「10」です。
「5」を1つ左にズラしたら「10」になりました。

ビット演算15

「5を1つ左にズラしたら10になる」です。
算数っぽく考えると「何のこっちゃ?」ですよね。
ですが、ビット演算と捉えれば何もおかしくありません。

このような

ビットに着目して、それを操作する

のがビット演算です。

ビット演算をするときはイメージが大事です。
数字と捉えてしまうと理解しにくいと思います。
旗を持ったおっさんが横一列に並んでいると考えてください。
そのおっさん達に「おまえは旗を上げろ!おまえは旗を下ろせ!」と命令するのがビット演算です。

ビット演算16

今回はビットをズラすのを例に挙げましたが、他にも、いろいろなビット演算があります。
ビット演算で よく出てくる演算子

AND
OR
XOR
NOT


あたりでしょうか。
それぞれの意味は、それぞれの用語の説明を ご覧ください。


image piyo2

一言でまとめるよ

まぁ「ビット演算」って単語が出てきたら「ビット(0か1が入る箱)を操作するんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像076
書籍画像032

おまけ



書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
マンガでわかるITパスポート
実践サイバーセキュリティ入門講座 現場に残された痕跡からハッカーの攻撃を暴け