基本情報技術者試験:情報の表現

「情報の表現」は、コンピュータがデータをどのように扱い、処理しているかを理解するための重要な基礎知識です。情報量の単位であるビットやバイトから始まり、文字コードの仕組み、さらには進数の表現と変換方法まで、これらの知識は基本情報技術者試験でも頻繁に出題される分野です。このブログでは、それらの基本概念をわかりやすく解説し、試験対策だけでなく、日常のIT業務における基礎力を高めるための知識を提供します。

情報量の単位

ビットとバイトの基本概念

コンピュータ内部では、情報が2進数の「1」と「0」で表現されています。イメージでいうと、電気信号の「ON」「OFF」のような形です。この「1」「0」のような、コンピュータで扱う情報量の最小単位を「ビット(bit)」といい、2進数1桁に相当します。さらに8個のビットをひとまとめにしたものを「バイト(Byte)」といい、2進数8桁に相当します。この「バイト」が情報量の基本単位となっています。
例えば、「10001111」は1バイト(8ビット)の情報量で、このような「1」と「0」の羅列は「ビットパターン」とも呼ばれます。

Nビットで表現できる情報量

1ビット:「0」「1」             → 2通り(2^1通り)
2ビット:「00」「01」「10」「11」    → 4通り(2^2通り)
3ビット:「000」「001」「010」「011」
      「100」「101」「110」「111」 → 8通り(2^3通り)

一般的に、Nビットでは 2^N 通りの情報を表現することができます。

情報量の単位の階層

最近ではコンピュータが扱う情報量が膨大になったため、データ量を表すB(バイト)の前に接頭語「k(キロ)」「M(メガ)」「G(ギガ)」「T(テラ)」が使われます。

k(キロ):10^3 B (1k = 1024 = 2^10 B)
M(メガ):10^6 B
G(ギガ):10^9 B
T(テラ):10^12 B

文字コード

文字コードとは

コンピュータは、文字の一つ一つに0と1の2進数で表現された識別番号を割り振ることで文字を扱っています。この識別番号のことを「文字コード」といいます。例えば、文字「あ」は、シフトJISコードでは「1000 0010 1010 0000」、Unicode(UTF-8)では「1110 0011 1000 0001 0010」の識別番号が割り振られています。いわゆる「文字化け」という現象は、作成者が使った文字コードとは異なる文字コードを当てはめることで起こります。

代表的な文字コード

  • ASCIIコード
    英数字・記号・制御文字のみ
    米国標準符号で最も基本となる文字コード
    漢字・仮名の日本語はない
  • シフトJISコード
    ASCIIコードに、漢字・仮名の日本語を加えたもの
  • EUC
    UNIXやLinuxなどで使用される
    漢字・仮名も使用できる
  • Unicode
    世界の文字の多くを一つの体系にしたもの
    それを符号化する方式の一つにUTF-8がある

進数の表現と変換

進数とは

進数の定義

進数は数を表すための基数に基づくシステムです。基数とは一つの位で表せる数字の数を示し、たとえば十進数は10(0~9まで)、二進数は2(0と1のみ)、十六進数は16(0~9、A~Fまで)を使います。

進数の必要性

  • コンピュータは二進数を使ってデータを処理しています。ハードウェアが0と1のオン・オフを区別できるため、二進数はコンピュータに最適な表現方法です。
  • 十六進数は、二進数をコンパクトに表すために使われます。例えば、二進数の長い列を短くするための手段として使われます。

各進数の特徴

二進数(Binary, Base-2)

  • 使う数字:0, 1
  • 用途:コンピュータの内部でデータを処理する際に使用される
    例えば、メモリやプロセッサは二進数で情報を管理している
  • 例:1010(2) ​は、十進数で 10 に相当する

十進数(Decimal, Base-10)

  • 使う数字:0~9
  • 用途:人間が日常的に使っている数の表現方法
  • 1234(10) ​は、そのままの形で数を表す

十六進数(Hexadecimal, Base-16)

  • 使う数字:0~9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15)
  • 用途:メモリアドレスや色の指定(HTMLやCSSなど)でよく使われる
  • 例:1F(16) は、十進数で 31 に相当する

進数の変換方法

二進数と十進数の変換

二進数 → 十進数
方法:各桁の値に、その桁の基数(2)のべき乗をかけて足し合わせる
例:1101(2)​を十進数に変換する
 1101(2) ​= (1×2^3)+(1×2^2)+(0×2^1)+(1×2^0)
 1101(2) = 8+4+0+1 = 13(10)

十進数 → 二進数

方法:十進数を2で割り、その余りを記録していく
   商が0になるまで割り続け、余りを逆順に並べると二進数が得られる
例:25(10) ​を二進数に変換する
 25 ÷ 2 = 12 余り 1
 12 ÷ 2 = 6 余り 0
 6 ÷ 2 = 3 余り 0
 3 ÷ 2 = 1 余り 1
 1 ÷ 2 = 0 余り 1
 → 余りを逆順に並べると 11001(2)

十六進数と二進数の変換

十六進数 → 二進数
各十六進数の数字は4ビット(2進数の4桁)で表すことができます。

例:A5(1​6) を二進数に変換
A(1​6) = 1010(2) ​、5(16) = 0101(2​)
よって A5(16) = 10100101(2)​

二進数 → 十六進数
二進数から十六進数の変換については、小数点を基準に4桁ずつに区切ることで直接変換ができます。

例:1100.01(2) を16進数に変換
1100 . 0100 (足りない分 0 を補う)
(1 × 2^3) + (1 × 2^2) + (0 × 2^1) + (0 × 2^0) . (0 × 2^3) + (1 × 2^2) + (0 × 2^1) + (0 × 2^0)
= 8 + 4 + 0 + 0 . 0 + 4 + 0 + 0 = C.4(16)

十六進数と十進数の変換

十六進数 → 十進数
十六進数を十進数に変換するには、各桁の値に16のべき乗をかけます。

例:1A(1​6) を十進数に変換
1A1​6=(1×161)+(A×160)
A(16) = 10(10)​なので、計算すると、
1A(16) = 16+10 = 26(10)

十進数 → 十六進数
手順は 十進数 → 二進数 と同じく、余りを使って計算します。

例:1234(10) を十六進数に変換
1234 ÷ 16 = 77 余り 2
77 ÷ 16 = 4 余り 13 (13 は十六進数では D)
4 ÷ 16 = 0 余り 4
→ 4D2(16)

まとめ

これらの基本的な概念を理解することで、コンピュータがどのようにデータを扱い、表現しているかを深く知ることができます。情報量の単位であるビットやバイト、文字コードの仕組み、そして進数の表現と変換方法は、コンピュータの基礎となる重要な要素です。これらをしっかりと押さえることで、試験の問題に対応できるだけでなく、実務においてもデータの扱い方やトラブルシューティングがスムーズになるでしょう。

関連記事

カテゴリー:

ブログ

情シス求人

  1. チームメンバーで作字やってみた#1

ページ上部へ戻る