ビット演算!?
今日jsの参考書を模写していた際
ビット演算という処理に遭遇しました。
最初はなんだかちんぷんかんぷんだったのだが、
理解した瞬間に感動しました。wwwwwwwwwwww
椎名林檎の曲「流行」を初めて聞いたときの衝撃があったので、忘れないうちに下ろしておきます。笑
ビットとは!
ビットとは「binary digit 」の略で、「binary」の「bi」は二つを表す音節
「binary」は二進数らしいです。 「digit 」は桁を表すのです。( ドヤ顔 )
二進数、、、
0の次は1、1の次は桁が増えて10、次は11と、1と0で構成されている数のことです。
コンピューターに10 + 5 を計算させる時も、実際は何かしらのプログラムが 数字を二進数に変換して
コンピューターは二進数として計算するのです。
ビット演算
二進数の同じ桁同士を比較する演算処理
- & (AND)
0 & 0 → 0 0 & 1 → 0 1 & 0 → 0 1 & 1 → 1
- | (OR)
0 | 0 → 0 0 | 1 → 1 1 | 0 → 1 1 | 1 → 1
それぞれ言い方をかえると、
(AND) → 必要なビット以外を( 0 )にする処理
(OR) → 必要なビットをON( 1 )にする処理
など言い換えることができるようです。
11001111 and 11110000 --------------- 11000000
下四桁をOFFにする場合は11110000
を差し込めば言い訳ですね!
11000000 or 00001111 ------------- 11001111
こちらは下四桁をONにする場合ですね!
そして普段私たちが利用する整数は二進数に直せます。
8 → 1000
つまり、整数「8」は 4つのON ・ OFFを使い分けることができます。
コンピュータはこの「0なのか1なのか」の繰り返しで実現しているのですね笑
一瞬だけ、コンピュータになった気がしました。ww
終わり