ビット演算の基礎/進数とビット・バイト
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
普段、私はPHPとかJavaScriptなんかを書くことが多いですけど、そんな場合は、ビット演算なんて考えなくてもコーディングできます。
高級言語であれば、1,0のビット情報を操作する場面にはあまり遭遇しません。
C/C++でもビット演算が必要となるのは、デバイスドライバを作ったり、緻密なグラフィックプログラムなど低レベルなコーディング時に必要となるようです。(現時点の私にはできませんけど。)
ただ、コンピュータとプログラムをより深く理解したいと考えるのであれば、ビット演算を理解することは必要でしょう。
コンピュータでの低レベルの操作ができれば、プログラミングの楽しさも広がりますしね。
2進数・8進数・16進数・10進数の理解
ということで、まずは、ビット演算を理解するために必要な基礎知識。
2進数・8進数・16進数・10進数と変換方法を理解する必要があります。
これが分かっていれば、2進数→8進数、2進数→16進数など、コンピュータの世界の数字にとても馴染みやすくなります。
ビットとバイト
ビットは、情報の最小単位であり、1と0で構成されます。
どんな高級言語でコーディングを行おうと、内部的にはコンピュータに動作させるため、すべてのコードは1と0のビット情報に変換されます。
8ビットで1バイトとなり、C++の場合、1バイトはchar型で表されます。
1バイトは8ビットですから、「01010010」と8桁のビット構成となります。
これを16進数で表すと、4桁ずつに分けて、「0101 0010」となりますから、16進数では、「0x52」と表せます。
16進数は、1桁で4ビットを表せるので、バイナリデータを表すのに適した進数です。
short int型は、ほとんどのマシンの場合、16ビットとなります。
ビット演算を用いると、1ビットずつの操作が可能となります。