← コンピュータアーキテクチャのシラバスへ
←講義のツボメニューへ

第3回、第4回
【2003, 10, 9】

2 情報の扱い方


2,1 数量値の表現

2,1,1 アナログとデジタル

数量値を定量的に表現(記録、伝達、表示)する方法は2つ
→アナログ(Analogue)方式とデジタル(Digital)方式
  • アナログ表現:連続的、比例的な表現
    (針式時計、自動車のスピードメーター、現行の電話の音声伝送、現行のTVの画像伝送)
  • デジタル表現:離散的、数字的な表現(数字式時計、コンピュータ内部データ)
  • アナログ表現の良さ 直感的
  • デジタル表現の良さ 明確
  • 今後の方向 TV,ビデオ、オーディオ、電話、等すべてデジタル化の方向
    (時計はアナログが健闘)
 

2,1,2
10進数と2進数(Decimal number, Bainary number)

・10進数 → 0〜9の19種類の数字と、10倍ごとにあがる桁を使う
・2進数 → 0,1,の2種類の数字と、2倍ごとにあがる桁を使う

同じ大きさの量を10進数と2進数で比較する

10進数 2進数 10進数 2進数
00000001101011
01000011201100
02000101301101
03000111401110
04001001501111
05001011610000
06001101710001
07001111810010
08010001910011
09010012010100
1001010//

2,1,3 2進数から10進数に置き換えるには

(例)10101 → 24 * 1 + 23 * 0 + 22 * 1 + 21 * 0 + 20 * 1 = 21

2,1,4 コンピュータの内部の情報はすべて2進数を扱う

コンピュータ内部にはパソコンの珠に相当する回路素子(FF)が多数ある。1個の素子が1個の珠に相当する。
1個の素子には目玉が2個ある。2個の目玉のうち上側の目玉が光るとソロバンの珠を上に入れた状態(1の状態)、下側の目玉が光るとソロバンの珠を下にした状態(0の状態)に対応している。 (道路の横断歩道の信号と類似)

例えば10進の0〜31の数量は2進5bitで表現できる。具体的に10進の21を2進法で表現すると”10101”となるが、これを回路素子では”上・下・上、下、上”の目玉が光るということである。
また同様に、10進0〜1023の数量は2進10bitで表現できる。具体的に10進の835を2進法で表現すると”1101000011”となるが、これを回路素子では”上、上、下、上、下、下、下、下、上、上”の目玉が光る。 つまり、10個の回路素子を2進表現に使うと10進で0〜1023の数量を表現できる。

2,2 小数の2進数表現

1より小さい10進数を2進数で表現するとどうなるか?

10進数では、小数点以下すなわち右に向かって桁の値は
0.1、0.01、0.001、0.0001、…(10-1、10-2、10-3、10-4、…)となる。
同様に2進数では、小数点から右に向かって桁の値は
0.5b 、0.25b 、0.125b 、0.0625b 、…(2-1-1-2-3-4)となる。

よって10進数の小数を2進数表現してみると
例1: 0.5d → 0.1b
例2: 0.25d → 0.01b
例3: 0.75d → 0.11b
例4: 0.875d → 0.111b
例5: 0.3d → 0.0100110011001……b=001001b

例5の解法はテキストを参照してください。

2,3 負の数の2進数表現

負の数の2進数表現ではどのように扱うかについては別途記述

2,4 文字の表現

 
コンピュータ内部では文字も2進数で表現する。(コンピュータ内部では何でも2進数にして扱うしか手がない)
10進数を2進数で表現するには一定の数学的ルールに従って変換してきたが、文字を2進数で表現するには、ルールは何もなく 単に文字ごとに一定の桁の2進数を背番号のように割り当てる。

割り当てられた背番号を文字コードという。

2,4,1 2系統コード

ASCIIコード(パソコン、WS、ミニコン) VS EBCDICコード(IBM系汎用コンピュータ)
シフトJIS漢字コード(パソコン)VS JIS漢字コード

※ASCII = American Standerd Code for Information Interchange (電信から発展したコード)
※EBCDIC = Extended Binary Coded Decimal Interchange Code (IBM事務所用コンピュータから発展したコード)

世界のコンピュータの圧倒的多数がASCIIコードである。他方で台数では劣るものの、銀行やエアライン会社等で社会生活の根幹を担っている汎用コンピュータは今でもEBCDICコードを使用している。

2,4,2 ASCIIコード表

ASCIIコードは現在、世界の大多数のコンピュータの標準コードである。
実際のASCIIコード表はテキストのP9を参照

英文とカタカナ文はASCIIコードで対応できるが普通の日本語は無理である。
ASCIIコードはタテ16×横16の256種類の文字しか当てはならない。
しかし、漢字はJIS第2水準で8836種類ある。これに対応するコードを作るには
最低でも14ビットの2進数が必要とする。コンピュータ内部では14ビットは中途半端な
区切りなので、JISおよびシフトJISコードでは、ASCIIコードを拡張して、漢字とひらがなには
16ビット(1バイト+1バイト)をもって当てはめる。

こうする事で、漢字も対応できるが問題が1つ残る。
それは、英数カナ字と漢字ひらがな字とが入り混じった場合の区別をそうするか?である。

これを解決するためにJISコードでは、英数字モードと漢字モードを切り替える特殊なコードを用意している。 またシフトJISコードでは、ASCIIコード表の「シフトJIS漢字第1バイト領域」と書いてあるエリアのコードに限定している。
実際のシフトJIS漢字コード表はテキストのP10を参照
← コンピュータアーキテクチャのシラバスへ