処理を高速にするビット演算

 前回はビット演算について解説する前に、必要な知識である2進数について説明しました。前回の最後に書いたように、特別なことがなければ、私たちは2進数計算(ビット演算)をする必要はありません。ただし情報処理の基礎知識ではありますので、将来エンジニアになりたい方、国家資格である「基本情報技術者」を受験したい方は、しっかり2進数を学習しておくと良いでしょう。

 さて、2進数計算は必要ないと書きましたが、実際はC言語にはビット演算というものが存在します。必要のないものがなぜ入っているのか。簡単に言うと、ビット演算を人間が使う理由は、処理を高速化するためです。

 C言語は1972年に誕生したというのは以前にもお伝えしたかと思います。かなり昔からあるプログラミング言語です。今のパソコンは家庭用でも高性能なものばかりですが、当時は家庭用のパソコンすら一般的でない上に、今の性能と比べたら月とスッポンです。CPUにしてもメモリにしてもそうで、貧弱な性能をいかに効果的に(かつ効率的に)使うかを考えてプログラムしなければなりませんでした。

 人間がわかる形で書かれたプログラムより、一部でもコンピュータ寄りなプログラムの書き方をしていた方が、コンピュータ処理用のものに変換する手間が省けるため、処理効率が良くなります(速くなります)。そのためにビット演算というものが存在します。

 現代のC言語プログラミングでは、パソコンの性能が大変良いため、ビット演算はほとんど必要ないかもしれません。しかし、完全に使われていないわけではありません。誰かの書いたソースコードで使われている可能性は高くあります。知識として覚えておいた方が良いでしょう。

 ソースコードが一切出てこなくなり、退屈されている方もいらっしゃるかもしれません。申し訳なく思っております。次回も、説明だけで終わってしまうかと思います。辛抱いただけますでしょうか。次回はもう一つ、2進数に関連した話題として、整数型変数の補足を行います。あっさりとしか書かなかった「unsigned」とついた整数型について、unsignedがどういうものであり、通常の整数型と何が違うのかについて説明します。

■スポンサーリンク

このページの先頭へ