テクノロジ系

コンピュータの数の世界 — 2進数・16進数・文字コード

導入

コンピュータは「0と1しかわからない」とよく言われます。しかし、その0と1だけで文章も画像も音楽も表現できるのはなぜでしょう。電気のオンとオフが生み出す数の世界をのぞいてみましょう。

くわしく知ろう

コンピュータの回路は電気が流れている(オン)か流れていない(オフ)かの2状態しか区別できません。この2状態を「1」と「0」に対応させたのが2進数(binary)です。私たちが普段使う10進数は0〜9の10種類の数字を使いますが、2進数は0と1の2種類だけで数を表します。

2進数では桁が上がるたびに値が2倍になります。たとえば2進数の「1010」は、8+0+2+0=10(十進数)を意味します。コンピュータ内部では全ての計算をこの方式で行っています。

16進数(hexadecimal)は2進数を扱いやすくするために使われます。4ビット(2進数4桁)をまとめて0〜9とA〜Fの16種類の文字で表せるため、長い2進数を短く書けます。メモリアドレスやカラーコード(#FF5733など)の表記に広く使われています。

文字をコンピュータで扱うには、文字と数値を対応させる「文字コード」が必要です。ASCIIは英数字・記号を7ビットで表す規格で、大文字「A」は65(10進数)に対応しています。日本語を含む多言語を統一的に扱うために生まれたのがUnicodeで、その主要なエンコーディング方式がUTF-8です。

具体例

たとえばWebページの文字色を指定する「#FF0000」は赤を意味する16進数表記で、RGBそれぞれが0〜255(16進数でFF)の値を持ちます。また「A」という文字をコンピュータが保存するとき、ASCIIでは65(2進数:01000001)として扱われています。

まとめ・試験ポイント

  • 2進数=0と1で表す数。コンピュータの電気ON/OFFに対応
  • 16進数=4ビットをまとめて0〜9・A〜Fで表す省略表記
  • ASCII=英数字・記号を7ビットで表す文字コード(A=65)
  • UTF-8=Unicodeのエンコーディング方式。日本語など多言語に対応
  • 試験では2進数↔10進数の変換、文字コードの特徴を問う問題が頻出

学習した内容を試験形式で確認しよう。ITパスポート入門試験100問に挑戦できます。

入門試験100問に挑戦する