ITパスポート対策

データの表現

ビットとバイト

ビットは 0 か 1 かの1桁を表す最小の単位です。1ビットでは2通り、2ビットでは4通り、3ビットでは8通りと、1ビット増えるごとに表せる組み合わせが2倍になります。

8ビットをひとまとめにした単位がバイトで、1バイトで 2 の8乗、つまり 256 通りを表せます。ビットは小文字の b、バイトは大文字の B で書き分けます。通信速度は 100Mbps のようにビットで、ファイルサイズは 5MB のようにバイトで表すのが普通です。同じ数字でも8倍違うので、混同すると計算が丸ごとずれます。

大きい数と小さい数の接頭語

単位の前に付ける記号を接頭語と言います。試験では倍率をそのまま問われます。

記号読み倍率
Tテラ10 の12乗
Gギガ10 の9乗
Mメガ10 の6乗
kキロ10 の3乗
mミリ10 のマイナス3乗
μマイクロ10 のマイナス6乗
nナノ10 のマイナス9乗
pピコ10 のマイナス12乗

大きい方も小さい方も3桁ずつ動く、と覚えると取り違えません。

文字コード

文字にも1つずつ番号が振られていて、その対応表を文字コードと言います。代表的なものは次のとおりです。

名前特徴
ASCII英数字と記号を7ビットで表す。128文字ぶんしかなく日本語は扱えない
シフトJIS日本語を2バイトで表す。日本国内で広く使われてきた
EUC-JPUNIX系で使われてきた日本語用の文字コード
Unicode世界中の文字に共通の番号を割り当てる仕組み
UTF-8Unicode を実際のバイト列にする方式。英数字は1バイト、日本語の多くは3バイト

文字化けは、書いたときと読んだときで違う文字コードを使ったせいで起きます。Unicode は文字と番号の対応の決まり、UTF-8 はその番号をバイトに並べる方式、という関係も押さえてください。

画像のデータ量を計算する

画像は小さな点(画素、ピクセル)の集まりです。データ量は次の式で求めます。

データ量 = 横の画素数 × 縦の画素数 × 1画素あたりのバイト数

1画素に使うビット数を色深度と言い、色数と次のように対応します。

  • 8ビット(1バイト)なら 256 色
  • 24ビット(3バイト)なら約1677万色。フルカラーと呼ばれます

解像度 1024×768、色深度24ビットの画像で計算します。

  1. 画素数は 1024 × 768 = 786,432 画素
  2. 1画素は 24 ÷ 8 = 3 バイト
  3. 786,432 × 3 = 2,359,296 バイト
  4. 10 の6乗で割って、約 2.4 M バイト

もう1問。解像度 640×480、256色の画像なら、1画素は1バイトなので 640 × 480 × 1 = 307,200 バイト、つまり約 0.3 M バイトです。

試験ではこう問われます

引っかけの型は次のとおりです。

  • ビットとバイトの取り違え。8で割り忘れると答えが8倍になります。選択肢にその8倍の値がわざと置かれます
  • 色数と色深度の混同。256色は8ビット、フルカラーは24ビットです
  • 圧縮率が示される問題。圧縮率50%なら、計算したデータ量を半分にしてから答えます
  • Unicode と UTF-8 を同じものとして説明した選択肢。UTF-8 は Unicode を符号化する方式のひとつです
生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア
編集 LuaGate編集部