コンピュータの世界は2進数

 今回から話題を変えて、お話したいと思います。ビット演算というものを扱いたいのですが、その前に今回は、C言語そのものからは離れてコンピュータの処理の基本について解説します。また、小数型や文字型を扱うと難しい話になりますので、整数型に限定して話を進めていきたいと思います。

 皆様は2進数をご存知でしょうか。普段使っている数を「0」か「1」だけで表すものです。例えば、

  • 10進数の「1」:00000001
  • 10進数の「2」:00000010
  • 10進数の「3」:00000011
  • 10進数の「4」:00000100
  • 10進数の「5」:00000101
  • 10進数の「6」:00000110
  • 10進数の「7」:00000111
  • 10進数の「8」:00001000
  • 10進数の「9」:00001001

 上記のように、10進数の数字を2進数で表わせます。以前お伝えした四則演算では、人間がわかる形である算数式で表す式を書いていきました。これはあくまでもC言語でプログラミングをする際、プログラムのソースコードを書く役である人間がわかりやすいように、このような形を取るだけであり、コンピュータ内では単純な10進数の足し引きをしているわけではありません。10進数の数字を2進数に直し、四則計算も2進数で行われるのです。人間がわかりやすい形からコンピュータの処理用に数字等を変えてくれるのはコンパイラの役目です。ここまで私たちは、Xcode等の開発用ソフト上で「実行」ボタンを押せばプログラムが起動しますが、実は開発用ソフトに内蔵されているコンパイラが実行ファイル(Windowsでいえば.exeファイル)を作成し、そのまま実行ファイルを起動しているわけです。

 基本的に私たちは、プログラムを作る際に2進数を意識する必要はありません。しかし2進数計算をするための命令があります。それがビット演算です。話は次回に続きます。

■スポンサーリンク

このページの先頭へ