○情報とは?
人類に関係のある変化(和田が学生時代ならった阪大尾崎先生の定義)
○情報量とはなにか?
情報の例をあげよ
○ビット(bit)とは一体なにか?
○2進数の各桁のことをBIT(ビット)と呼ぶ確率50%事象=1ビットの情報
1ビットの数といえば...’0’もしくは’1’
2ビットの数といえば...”00”、”01”、”10”もしくは”11”○特に8ビットのことをBYTE(バイト)と呼ぶ
”01001100”は8ビットすなわち、1バイトの数○WORD(ワード)というのも使うが、マシンによって16ビット、32ビット、64ビット等をさす(決まったサイズではなく、そのマシンの標準の言葉のサイズ)
○補助単位
T (テラ) G (メガ) M (メガ) K (キロ) m (ミリ) μ (μ) n (ナノ) p (ピコ) f (フェムト) 1012 109 106 103 10-3 10-6 10-9 10-12 10-15 ○ 103 = 210 = 1024
○ 256 M byte(メガバイト)
○ 50 G byte (ギガバイト)
○
○ちょっとややこしい話 数字の2と文字の2
○コンピュータの中では同じ”2”でもそれが、「数字」か「文字」かで取り扱いがことなる。
○8ビットを用いて、数字の”2”を表現すると
0 0 0 0 0 0 1 0 この8ビットは数字を表すので、
●符号無し数ならば、0から255(10)
●符号付数ならば、−128(10)から127(10)までの整数を示すことができる。
○8ビットを用いて、文字の”2”を表現すると
8ビットなので256種類の異なる文字を表現できる。
●EBCDICコードでは
1 1 1 1 0 0 1 0 ●ASCIIコードでは 7ビットであり全部で128種の文字に対応する。そのうち、33種はプリントできない文字である。
0 1 1 0 0 1 0 〇クイズ
コンピュータにアルファベット"a"1文字を入力した。そのコンピュータはその文字をEBCDICで内部に記憶した。その8ビットのコードをプリンターに送るとプリンターは"a"を印刷する。
大文字もしくは小文字のアルファベット26文字の入力に対して、かならず大文字をプリントするようにするにはコンピュータ内でどのような処理をすればよいか?
○符号無し数の場合、各桁の重みは
27=
12826=
6425=
3224=
1623=
822=
421=
220=
1したがって、0100 1100(2) = 64+8+4=76(10)
○2の補数を用いた符号付数の場合の、各桁の重みは
-27=
-12826=
6425=
3224=
1623=
822=
421=
220=
1MSBの重みが負になっている。
したがって、
(1)1100 0011(2) = -128+64+2+1=−61(10)
のように直接10進数に変換できる。
(2)1100 0011(2) の2の補数をとると、0011 1101(2)
0011 1101(2) = 32+16+8+4+1=61(10)、したがって
1100 0011(2) =−61(10) のようにして間接的に10進数に変換も可能。
○実はこれまで説明した数字を表し方が固定小数点表現
〇教科書では固定小数点表現では必ず、MSBが符号ビットであり、符号付数となっているが、
〇別に符号無し数でも構わないので、これまで説明した符号無し数、符号有り数はすべて固定小数点表現と思ってよい。
〇符号付数(固定小数点表現)
符号 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1 という数があるとする。小数点が一番右端にあると思えば、
符号 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1 . となりn桁であれば、 -2n-1 〜 2n-1 -1まで(刻みが1)の数を表現することができる。
n=16ならば、−32768〜32767
〇しかし実際にはコンピュータ上の数字には小数点は記録されないので、小数点がどこにあるかは自分の思い(約束で)どこにあると思ってもよい。
〇符号付数(固定小数点表現)
符号 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1 という数があるとする。小数点が符号ビットの右側にあると思えば、
符号 . 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1 となり16桁であれば、 -216-1/215 〜 (216-1 -1)/215 まで(刻みが1/215)の数を表現することができる。
n=16ならば、−1〜32767/32768 => -1.0 〜 0.999969482 (刻みが3.05*10-5)の数字を表すことができる。
●固定小数点表現というのは、小数点の位置をコンピュータは管理せず、ユーザやプログラマに任せた表現方法。
○教科書に浮動小数点の表現方法が書かれているが、1980以降はIEEE754浮動小数点規格が用いられ、教科書の記述とはやや異なる。
●単精度
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 S 指数E (8ビット) 仮数F (23ビット) ●倍精度
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 S 指数E 仮数F (52ビット)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 仮数F
(1)仮数
23ビット(52ビット)がすべて0ならば、0を示す。
そうでなければ、
仮数フィールドは小数点が最上位ビットの左側にあり、23(52)ビットを用いて0から1の間の小数を示し、その小数点の左側にいつも1があるとする。(2)指数
指数は単精度では −127から128 すなわち 2-127から2128を表す。が
このー127を実際には00000000で128を11111111で示す。
倍精度では -1023から1024をカバーし、-1023実際は00000000000で1024を11111111111で示す。
(−1)S X (1+仮数) X 2(指数−ゲタ)
ゲタ= −127(単精度)、−1023(倍精度)
宿題3 学籍番号 名前 日付 を書いて 提出すること。
1)数値 -.075(10)のIEEE754での2進表現を、単精度32ビットと倍精度64ビットで示せ
単精度
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
倍精度
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
2)IEEE754規格の下記32ビットの語によって示される10進数はいくらか?
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
3)P70-75の演習問題すべて
以上