ubuntu学習記録(4)
笑われそうな話ですが、・・・・
サンダーバード(Thunderbird)を始めるに当たり(2)
副題ーファイルの保存形式を知る前に、
コンピュータは文字をどう表現しているかー
▶どんな情報(データ)もコンピュータ上では 0,1 だけで表されている。データをどのように 0,1 で表すか? おそらくこれは誰かが、例えばアルファベットの26文字の「a」には「0」「b」には「1」と「0」と「1」で表現しようとした。アルファベットだけでも26あり、コンマとか記号など必要な「文字・記号等」を0,1で表現したのということぐらいは学ばなくても理解できる。
▶誰かが便利で合理的なものを提案しみんなで使うようにしたに違いない。そして各国で我が国の言語の文字も同様に0,1の2進数表記にすると決めたのだろう。
▶ASCIIは情報交換用米国標準コードと言われる。英語ではAmerican Standard Code for Information Interchange 。私は「エイエス2」と思っていた(^^;)。調べると、文字など(の情報)を7桁の2進数(128個)を用いて表現する。
▶今から128個を書きたいが、大きくなる。
0000000
0000001
0000010
0000011
0000100
0000101
0000110
0000111
0001000
0001001
という具合だろう。
▶表があった
2進 8進 10進 16進 略語
000 0000 000 0 00 NUL ␀ ^@ \0 ヌル文字
000 0001 001 1 01 SOH ␁ ^A ヘッディング開始
000 0010 002 2 02 STX ␂ ^B テキスト開始
000 0011 003 3 03 ETX ␃ ^C テキスト終了
000 0100 004 4 04 EOT ␄ ^D 伝送終了
000 0101 005 5 05 ENQ ␅ ^E 問い合わせ
000 0110 006 6 06 ACK ␆ ^F 肯定応答
(略)
111 1111 177 127 7F DEL ␡ ^? 抹消
178個だ。10進が書いてあるのは便利なためだろうが、わざわざ8進、16進があるのはなぜだろう?
▶識者に聞いた。それは8進数、16進数だと2進数の数字つまり0と1の並びがヒトにもすぐわかるという便利さがある。どんなことか?
次の理解のために、2進、10進、8進、16進対応表↓を見てほしい。
▶8進数で末尾が7のものは、2進数でみな111で終わっている。末尾5は皆101で終わっている。8進数で後ろから2番めの数字が7の場合は2進数の4,5,6番目の数字が111であり、8進数で後ろから2番めの数字が3の場合は2進数の4,5,6番目の数字が011である。つまり8進数の3文字(数字)で2進数をヒトは即座にわかる。【練習】8進数で354は2進数ではどう書くか(答え)011101100 ➡11101100と簡単。16進数(0123456789abcd ef)で考えるともっと簡単。0から1111111(1が7個)の256番目(10進数で255)が2つの文字(数字?)「ff」で表現できる。16進数のfは2進数の最初4桁あるいは末尾4桁が1111である。5は0101、eは1110である。この程度ならヒトは覚えられる。32進法はまずアルファベットが足りない。通常の人の能力を超える。
▶以上で今日のところはやめてこう。10進数が便利ではなく、8進数や16進数がヒトにとって便利だったようだ。