digital-data

2進数によって広がるデジタルデータ表現の基礎知識5選

米国を代表とする週刊誌「Newsweek」が紙媒体を廃止し、2013年から電子版に移行する。電子書籍時代に生き残るにはデジタル媒体に強いことが求められるという意見もある。しかし、アナログデータ(紙など)とデジタルデータの違いについて、はっきりと説明できる者は少ないのではないだろうか。ここでは、そもそもデジタルデータとはどういうものなのか、その表現方法についてまとめる。

1 デジタル世界は、0と1だけの2進数

私たちのような数え方を「10進数」、コンピュータのような数え方を「2進数」と呼ぶ。通常私たちは0〜9という10個の数字を使って数を数えるのに対し、コンピュータは電気的な「オン」と「オフ」しかわからないため、0〜1という2個の数字を使って数を数えるのである。

情報処理推進機構のシラバスにおいては「33.離散数学」「35.情報に関する理論」「52.マルチメディア技術」「53.マルチメディア応用」に対応している。

 

2進数で表す数値

2進数の2という数字は「桁が進む数」を表している。これは「2になるごとに桁が進む数え方」ということである。例えば10進数においての0,1,2,3…8,9,10は、2進数において0,1,10,11…1000,1001,1010と表される。

 

2進数の重みと10進数への変換

2進数の重みとは、各桁が上がるごとに「2の(桁数-1)乗」を行った数値になることである。例えば10進数においての1,10,100,1000,10000…は、2進数において1,2,4,8,16…と表される。これを応用することで、2進数から10進数への変換が簡単に行える。

 

10進数から2進数への変換

上述の2進数の重みを利用することで、10進数から2進数への変換も行うことができる。

 

2 2進数の足し算と引き算

足し算と引き算の基本は10進数も2進数も変わりない。

 

足し算をおさらいしながら引き算のことを考える

足し算の基本は、下位の桁から順に繰り上がってくる数を考慮しながら、各桁ごとに合計出すというものである。例えば2進数の1111と2進数の101を足すと、10100になる。

 

負の数の表し方

負の数を表すには、「補数」という表現方法を用いる。「その桁数での最大値を得るために補う数」と「次の桁に繰り上がるために補う数」という2つの補数を用いることで、引き算を足し算で求めることができる(詳細はこちらを参照)。

 

3 ビットとバイトとその他の単位

ビット(bit)はコンピュータの扱う最小の単位である。8ビットをひとまとめにした単位をバイト(Byte)と呼ぶ。メモリの記憶容量などは、主にバイトを用いて表す。

 

1バイトで表せる数の範囲

1バイトで表せる数の範囲は、256通りである(2の8乗の0〜255)。

 

様々な補助単位

記憶容量など大きい数値を表す補助単位

  • キロ(k):基本単位×1,000倍
  • メガ(M):基本単位×1,000,000倍
  • ギガ(G):基本単位×1,000,000,000倍
  • テラ(T):基本単位×1,000,000,000,000倍

処理速度など小さい数値を表す補助単位

  • ミリ(m):基本単位×1/1,000倍
  • マイクロ(μ):基本単位×1/1,000,000倍
  • ナノ(n):基本単位×1/1,000,000,000倍
  • ピコ(p):基本単位×1/1,000,000,000,000倍

 

4 文字の表現方法

コンピュータは文字に数値を割り当てることで、文字データを表現する。このような「文字に数値を割り当てたもの」を文字コードと呼ぶ。

 

文字コードの種類とその特徴

  • ASCII:米国規格協会(ANSI)によって定められた基本的な文字コード。含まれる文字はアルファベットと数字、あといくつかの記号のみで、1文字を7ビットで表す
  • EBCDIC:IBM社が定めた文字コードで、8ビットを使って表す。大型の汎用コンピュータなどで使われている
  • シフトJISコードS-JIS):ASCIIのコード体系の文字と混在させて使えるようになっている日本語文字コード。ひらがなや漢字、カタカナなどが扱える。マイクロソフト社のOSであるWindowsでも使われており、1文字を2バイトで表す
  • EUC:拡張UNIXコードとも呼ばれ、UNIXというOS上でよく使われる日本語文字コードである。基本的には1文字を2バイトで表すが、補助漢字などでは3バイト使う
  • Unicode:各国のあらゆる文字を1つのコード体系で表そうとした文字コード。1993年にISOで標準化されている

 

5 画像などマルチメディアデータの表現方法

画像や音声はデジタルデータへ変換することで、数値で表せるようになる。

 

画像データは点の情報を集めたもの

コンピュータの扱う代表的な画像データの表し方は、ビットマップ方式である。これは画像を細かいドットの集まりで表現するものである。例えば白か黒だけの白黒2色画像は1ドットにつき1ビットの情報量が必要である。順に16色は4ビット、256色は8ビット、16,777,216色(フルカラー)は24ビットの情報量が必要。

 

音声データは単位時間ごとに区切りを作る

アナログの波形データをデジタル化して数値表現する代表格は、PCM(Pulse Code Modulation)方式である。音声を微小な時間単位に区切り(標本化)、その単位ごとの音程を数値化する(量子化)ことで表現する。

  • 標本化(サンプリング):アナログデータを一定の時間単位で区切り、その時間ごとの信号レベルを標本として抽出する処理。どのような感覚で標本を得るかを示すのがサンプリング周波数という
  • 量子化:信号レベルを何段階で表現するか定め、サンプリングしたデータをその段階数に当てはめて整数値に置き換える処理。標本を何ビットのデータで表すかによって量子化の段階数が決まる(量子化ビット数)

 

最後に

デジタルデータの表現方法として、2進法、2進法の足し算と引き算、ビットとバイトとその他の単位、文字の表現方法、画像などマルチメディアデータの表現方法についてまとめた。

デジタルデータは1と0を組み合わせることによって複雑な内容を表現できる。このデジタル技術の進歩によって、カーナビがスマホで代替可能だったり、youtubeやニコニコ動画に簡単に映像投稿できるなど、私たちはその恩恵を受けている。反面その弊害として電波障害やセキュリティといった新たな問題も出てきている。私たちにできることは、それらの技術についてしっかりと学び、解決策を考えていくことであろう。

次回はファイルとディレクトリについてまとめる。

キタミ式イラストIT塾 「ITパスポート」 平成24年度 CBT対応


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>