• 検索結果がありません。

2. 情報の内部表現の基礎 (1) 文字コードと 2 進数 Internal representation (1) Character code and Binary numbers, コンピュータは記号を扱う機械であり, 様々な 事 や モノ を記号として表現する * これらの記号 (symbol

N/A
N/A
Protected

Academic year: 2021

シェア "2. 情報の内部表現の基礎 (1) 文字コードと 2 進数 Internal representation (1) Character code and Binary numbers, コンピュータは記号を扱う機械であり, 様々な 事 や モノ を記号として表現する * これらの記号 (symbol"

Copied!
8
0
0

読み込み中.... (全文を見る)

全文

(1)

2.情報の内部表現の基礎(1)文字コードと2進数

Internal representation (1) Character code and Binary numbers,

コンピュータは記号を扱う機械であり,様々な「事」や「モノ」を記号として表現する*。これらの記号 (symbol)は,コンピュータ内部で2値の記号“ビット”の組合せ(ビット列)で表現される。はじめに, 文字をビット列で表す文字コードについて学ぶ。次に,ビット列を規則的に並べて文字と対応させたり,数 値を表したりする場合の基本となる,2進数の考えについて復習する。 *)シャノンによれば,記号とは“情報を運ぶもの”(Carriers of information)である.

(Claude E. Shannon, " A Mathematical Theory of Communication ", Bell System Technical Jounal,1984)

記号の表現

世の中には様々な記号がある.これらの記号は,人間の頭の中にあるイメージを表したり,情報を伝 達,加工,蓄積したりするために使われる. パーソナルコンピュータの画面などで見る「アイコン」,文字,数式,数学的モデル,図,音声によ る音圧変動や地震による揺れを記録した信号波形,などは記号としてコンピュータの内部で扱われ表示 される.

コンピュータの働きの媒体:記号

コンピュータは、様々な「事」や「モノ」を記号の集まり(データ)として扱う。コンピュータが扱える データは、文字、言葉、数値、画像、音声・・・、と多岐に渡っている。 これらの記号やデータは(良く知られているように)、コンピュータ内部では2値の記号の組み合わせと して表現される。仮にこの2つの記号を○と●で表してみよう。例を挙げると、

太郎:○○

花子:○●

ポチ:●○

ここで、2値記号の組み合わせは、実際の太郎や花子の肉体的構造などとは何の対応関係も無いこと

に注意

対象と2値記号の対応関係は前もって約束しておく必要がある

0:○○

1:○●

2:●○

・ という数値を表しても良いのである。

このようなコンピュータ内部の記号を、ビット(

bit

)と呼び,今後は○と●ではなく、"0" と"1" と

いう2つの値で表すことにする。

コンピュータ内部では,

様々な記号や数値を複数のビットを並べたもの

(ビット列,

ビットパターン)

で表現している。8つのビットを1つの単位として扱い,バイト(

byte

)と呼ぶ

基本的な記号である文字や数値がどのようにビットパターンとして表現されるかについては2年次

の「計算機基礎」で詳しく学ぶ。

内部表現では,

表すものが文字なのか数値なのか決めておき,

その中で

異なる記号に異なる内部表現を 対応させる。文字や数値のような良く使われる記号では,効率や処理のしやすさを考慮して標準的な内部表 現が定まっている。その基本となるのが“2進数”である。

ア イ コ ン ア イ コ ン ア イ コ ン

ア イ コ ン (icon), ビ ッ トビ ッ トビ ッ ト (ビ ッ ト bit, binary digit あるいはbinary unit), バ イ トバ イ ト (バ イ トバ イ ト byte), 2222 進 数進 数進 数 (進 数 binary number), 2

2 2

(2)

文字

文字

文字

文字 や

や 数値

数値

数値

数値 などの

などの

などの

などの 基本的

基本的 な

基本的

基本的

な データ

データ

データ は

データ

効率

効率

効率 、

効率

、 処理

処理 のしやすさを

処理

処理

のしやすさを

のしやすさを

のしやすさを 考

考 えて

えて

えて

えて

機種間

機種間

機種間 で

機種間

で 共通

共通 になるように

共通

共通

になるように

になるように

になるように 標準化

標準化

標準化

標準化 してある

してある

してある

してある

文字の内部表現:文字コード

文字をビット列に対応づけたもの 文字コードの実例

① ASCII コード

② JIS8 単位コード

③ JIS 漢字コード

①ASCII(American Standard Code for Information Interchange)

→ ISO(国際標準化機構)で規格が定められている.

数字 0,1,2,....,9(10種)

アルファベット a ,b ,..,z ,A ,B ,.,Z (26 × 2=52 種)

特殊記号 !,’,#,+,―,...(34種)

非印字文字(制御コード)(32 種)

→ 7 bitのパターンを対応させる

*:

実際のコンピュータでは8ビットで1文字を表す。これは,コンピュータの内部では2値のビットの組 合せを用いるので,2 n 個のビットを単位とすると,いろいろと都合がよいからと考えられる。

その他,EBCDIC(Extended Binary Coded Interchange Code)と呼ばれる文字コードも,IBM社製のコンピュー

タで使われた ②JIS 8単位コード (JIS X 0201) ASCII を拡張 8ビットを使いカタカナも表現,“半角文字” 表2-1 にJIS 8 単位コード表を示す. ③JIS 漢字コード 2 Byte で漢字・ひらがな1文字を表す.

128 種

1 2

(3)

表2-1 JIS コード表 最上位ビットを1 とした符号にカタカナなどを割り振っている。未定義部分にグラフ ィックパターンを割り振って使うメーカもある。NUL, SOH など複数文字は制御コードを表す 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 b8 b7 b6 b5 b4 b3 b2 b1 列 行 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 2 3 4 5 6 7 8 9 A B C D E F 0 0 1 2 3 4 5 6 7 8 9 A B C D E F EOT H T LF VT FF CR S O S I DC1 DC3 CAN SUB ESC F S G S R S U S S P ! " # $ % & ( ) * + , -. / 0 1 2 3 4 5 6 7 8 9 : ; < > = ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] \ ^ _ ‘ a b c d e f g h i j k l m n o ’ p q r s t u v w x y z { | } ~ 。 「 」 、 ・ ヲ ァ ィ ゥ ェ ォ ャ ュ ョ ッ ー ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ン ゛ ° 未 定 義 未 定 義 未 定 義 未 定 義 未義 定 NUL SOH STX ETX ENQ ACK BEL BS DLE DC2 DC4 NAK SYN ETB EM

* データ量の感覚的な理解

アルファベット・数字1 文字で1 バイト

漢字ひらがな1 文字で2 バイト

400 字詰原稿用紙1 枚で400 × 2 = 800 バイト ≒ 1kバイト

*注意 「文字コード」とその文字を印刷・表示するために必要なデータは別のもの 「A」の文字コード 0100 0001 はA という文字の形を表してはいない → 字体(フォント)の情報が別に必要 応用問題[6] 以下の10進数を16進数に,16進数を10進数に,直接変換せよ。 ①5712 ②A84

(4)

2 進数

進数

進数

進数 の

の 考

考 え

え 方

10進数(decimal number)では:

29

10

=

2

×

10

+

9

×

1

=

11101

2 2進数(binary number)では:

11101

2

=

10000

2

+

1000

2

+

100

2

+

1

=

16

10

+

8

10

+

4

10

+

1

=

29

10

2 進数の

n

桁目は

2

n−1

10進数の

m

桁目は

10

m−1

2進数を並べてみよう

2進数と10進数の対応関係を確認するため,2進数を0から順番に並べる演習

をやてみよう。

演習問題

演習問題

演習問題

演習問題[1]0~15までの10進数を2進数で表せ。

(左の対応表の空欄を埋めよ。

2進数→10進数の変換

これは簡単。しかし,1回は演習をやっておくとよい。(結構,間違う人がい

るから。)

演習問題

演習問題

演習問題

演習問題

[2] 以下の2進数を10進数に変換せよ。 ①1101 ②10111 ③110010 ④10001001

10進→2進の変換

例えば次のような方法がある.

商 余り

2 9 ÷2 =1 4

...

1 4 ÷2 = 7

...

7 ÷2 = 3

...

3 ÷2 = 1

...

1 ÷2 =0

...

値を2で割っていく.

商が0となったところで,

余りを出た順の逆に並べると2進数表現が得られる.

shift by division method

10進/2進対応表 10進数 12進数 0 0000 1 0001 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 4

(5)

考 え

え 方

数値を2進数で表して考える.2での除算は2進数を右に1桁シフトする操作に対応する.除算される数 の1の位の値が余りの数になる.したがって2で除算するたびに右端の値が余りの値として現れることにな る.先の例の場合,

11101÷10=1110

... 1

1110÷10=

111

...

111÷10=

11

...

11÷10=

...

1÷10=

...

となる. この変換により得られるビット列は,符号なし整数(unsigned integer)つまり0 より大きな正の整数の内部 表現として使われる.

演習問題

演習問題

演習問題

演習問題

[3] 以下の2進数を10進数に変換せよ。 ①72 ②54 ③12 ④132

8 進数

進数

進数

進数

, 16

16

16

16 進数

進数

進数

進数

2進数は桁数が大きくなりすぎる.例えば,今のパソコンは32桁,64桁 といた桁数の2進数データを扱う。ところが人間が,読んだり書いたり覚 えたりできるのは,せいぜい8桁程度までなのだ * 。そこで4bitをまとめて 0から9までの10個の数字とAからF までのアルファベット併せて16種類の 文字1つで表現するのが16進数である.こうすれば,

1001001011011010

2

92DA

16 のように人間にとって扱いやすいものとなる. *:人間が一度に扱えるものごとの数は6~8で,それは人間の短期記憶の容量と

関係している,という説(“Magical Number Seven説”)がある(George Miller: The Magical Number Seven, Plus or Minus Two : Some Limits on Our Capacity for Processing Information, The Psychology of Communication, New York : Basic Books, 1967 )。こ

の論文がゼロックスのパロ・アルト研究所(PARC) の研究者によって発表されたの は1950 年代であった。

16

16

16

16 進表記

進表記

進表記

進表記 は

は 人間

人間

人間

人間 のためのもの

のためのもの

のためのもの

のためのもの

8 8 8

8 進 数進 数進 数進 数 (octal number), 16161616進 数進 数進 数進 数 (hexadecimal number) 筆 算 筆 算 筆 算 筆 算 に よるに よるに よるに よる 10101010 進 /2進進進/2/2/2 進 変換進 変換 の進 変換進 変換の 別法のの別法別法別法 ((((““ 逐次 比較 法““逐次 比較 法逐次 比較 法逐次 比較 法 ””””,,,, s s s

s uccessive approximationuccessive approximationuccessive approximationuccessive approximation

* ** * ) ) ) ) 「 n

2

よ りよ りよ りよ り 小小小小 さ か っ た ら そ の ま まさ か っ た ら そ の ま ま ,さ か っ た ら そ の ま まさ か っ た ら そ の ま ま,,, 大大大大 き か っ た らき か っ た らき か っ た らき か っ た ら n

2

をををを 引 引 引 引 くくくく」という操作を繰り返す(以下は74を2進変換す る例 )。 逐 次 比 較 型逐 次 比 較 型逐 次 比 較 型逐 次 比 較 型ADADADAD変 換 器変 換 器変 換 器変 換 器 と同じ方法。 1 6 4 7 4 -6 4 0 3 2 1 0 - 0 0 1 6 1 0 - 0 1 8 1 0 - 8 0 4 2 - 0 1 2 2 - 2 0 1 0 6 4 7 4 3 2 1 6 8 4 2 1 1 64 7 4 - 64 32 1 0 16 8 4 2 1 ①1, 2,4 ,・・・ と い う 欄 を作る ②74 >64なので1 を立て,64 を引く ③小さい場合は0 を 立て,そのまま,と いう操作を繰り返す 上 の 桁 か ら 求 め ら れ て い く *これも,この講義だけの命名。筆算のやり方は,もっと巧 い 方 法 が あ る か も し れ な い 。 successive approximationは直訳すると“逐次的近似”。 10進/2進変換の別法 n

2

分解法 * (powers of two decomposition)( n

2

を暗記している人向け) 89 = 64 + 25 = 64 + 16 + 9 = 64 + 16 + 8 + 1 → 101 1001 *:これも,正式名称ではない 表2-2 10進/2進/16進対応表 10進 2進 16進 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F

(6)

一方,3ビットずつ区切って0~7の8文字で表すのが,8進数による表記だ。変換が簡単なのだが,2進 数は2のべき乗(powers of two)と相性がよいので,4(= 2

2

)ビットずつ区切る16進表記の方がよく使われ ているようだ。 16進数と2進数の相互の変換は,非常に簡単である。だから,手計算による16進/10進の変換は2進数を介し て行っても良い(10進→2進→16進,16進→2進→10進)。桁数が多い場合は,下の例のようにして直接計算 することもできる。 演習問題[3] 以下の2進数を16進数に変換せよ。 ①1100001111100101 ②1001110101110111 演習問題[4] 以下の16進数を2進数に変換せよ。 ①A13C ②2EF4 応用問題[5] 以下の10進数を16進数に,16進数を10進数に,直接変換せよ。 ①5712 ②A84 188 16 3021 16 142 128 141 128 13 11 16 188 16 28 16 12 0 16 11 0 11 11 12 13 1011 1100 1101↓ ↓ ↓ 2 10

1011

1100

1101

3021

=

10 ×16 160 + 11 171 ×16 1026 171 2736 + 4 A・・・・・ B・・・・・ 4・・・・・ 2740 ・・・最上位桁Aの10進数値10をたてる ・・・16を乗じる ・・・第2桁Bの10進数値11を加える ・・・16を乗じる ・・・第3桁4の10進数値4を加える ・・・これが“AB4”の10進変換値! 10 ×16 160 + 11 171 ×16 1026 171 2736 + 4 A・・・・・ B・・・・・ 4・・・・・ 2740 ・・・最上位桁Aの10進数値10をたてる ・・・16を乗じる ・・・第2桁Bの10進数値11を加える ・・・16を乗じる ・・・第3桁4の10進数値4を加える ・・・これが“AB4”の10進変換値! 16進数→10進の直接計算の例 10進数→16進の直接計算の例

(7)

質問・意見(抜粋)と回答例(Q:質問,C:意見,R:要求,A:回答)

Q:なぜコンピュータは2 進数を用いるのか? 10 進数の方がわかりやすいのに。(同様の質問,非常に多数) A:ビットは0または1という2つの値を取る記号ですが,このような2値記号は,スイッチのON/OFF,電圧の 高い,低い,という2つの状態で表すことができるため,扱うための回路が簡単になり,動作の信頼性も高くで きます。 C:①2 進数と 10 進数の相互変換が,全くわからなかった。(3 名ほど) ②2 進数は初めて聞いたが,説明を聞いてわかった。 (複数名)③除算シフト法でなぜ変換できるか,わからなかった。(これは,結構多い) A:来週,もう一度説明します。“全くわからなかった”というコメントは,30 年近くの経験で初めてです。「これ は手ごわい相手・・・」ということなので,気合入れて講義の準備をします。 C:①“逐次比較法”の方が,わかりやすかった。②“逐次比較法”の方を先に教えるべき。③10 進/2 進変換の方法が多す ぎて混乱する。 A:①,②“除算シフト法”は,教科書でよく見かける方法だったので紹介しましたが,割り算を使うので,人が速 く計算するのには向いていません。③“逐次比較法”や,“2 n 分解法”は,教科書に載っていたものではなく,筆 算の方法の例として考えてみました。どれでも好きなのを使ってみてください。なお,これらの筆算による変換 法は,実用性は無いかもしれませんが,2進数の意味や変換のアルゴリズムを理解するのに向いています。 Q:アウトラインフォントは,どれくらいの容量があるのか?

A:英語の表記によく使うTimes New Romanは400kバイト,漢字ひらがなに使っている(このテキストのフォン

ト)MS明朝は9.822Mバイトです。 Q:ビットパターンの説明で,MSB は b7,LSB は b0と説明していたが,2-3 のコード表では b8~b1となっていたのはなぜか? A:ASCIIの規格書では b 8 ~b 1 と,右端をビット1としていたようです。このため,参考にした表がそれに従ってい ました。このように,順番を表す数字の始まりを0にするか1にするかという2つの流儀が混在していることが あります。 C:①10 進数,2 進数の話は今まで聞いたことがなかったが,何とか理解した。初めての人もいるのに,全員わかってる体で話さ れても困る。もう少し補足を付けてほしい。②初めて聞いた話だったが,丁寧な説明なので理解できた。 A:①申し訳なかったです。もちろん,全員わかってるなどと考えてはいません。②こちらのコメントの方が多かっ たのですが,油断は禁物です。 C:2 進数など高校でやらなかったので,詳しく丁寧にやってほしかった。 A:「欲しかった」と過去形で言わないでください。まだ説明は終わっていないので。昨年度,米沢キャンパスでや った講義に,高校生が参加していました。普通高校の生徒で,初めて聞いたが非常にわかりやすかった,という 感想で,実際,試験も受けてもらったところ満点に近い点数でした。 「 「「 「 わからないわからないわからない 」わからない」」」 というというという 情報という情報 は情報情報はは ,は,,, 教教教 える教える 側えるえる側側側 にとってはにとってはにとってはにとっては 非常非常非常 に非常に 重要にに重要重要 です重要ですです 。です。。遠慮しないで意見に書いてもらえると助か。 ります。できれば,具体的に,どの部分がどのようにわからなかったか書いてもらいたいです。 Q:ASCII コードは 128 種類の文字を表せるが,128 = 27となっているのは,わざとそのように仕組んだのでしょうか。それとも,た だの偶然でしょうか? (同様の質問が数名) A:2 7 におさまるように,文字種を決定したと考えるのが自然です。英語圏の場合は,128 種の文字で十分だったた め,7ビットコードになったのでしょう。 Q:①ASCII コードは7 ビットなのに,なぜコンピュータで扱うときは,8 ビットで1 文字を扱うのか? (同様の質問が数名) ②そ の場合,使わないビットは 0 と 1 のどちらに統一されているのでしょうか? A:①先の回答のように,英語では128種の文字でよいので7ビットにしました。しかし,コンピュータ内部でビッ トを扱うとき,1つ1つばらばらに扱うのではなく,幾つかのビットをまとめた単位で扱う方が効率が良くなり ます。この単位を8ビットとするのが一般的です。なぜ 8=2 3 としたかというと,コンピュータ内部では2進数を 基本とするので,2の冪(べき)が都合がよいからでしょう。2 3 だと,8,4,2,1と,1になるまで2つに等 分していけます。②普通は最上位ビットを使わないビットにすると思います。コンピュータの基本プログラムの OSが,この部分を使っていることがある,というのを読んだことがあります。(Very Good) Q:EBCDIC は何ビットですか? また,なぜ使われなくなったんですか?

A:EBCDICは8ビットコードです。IBM社が策定した文字コードで,できたのは1964年のようです。パソコン

では使われていませんが,銀行などで使われる大型の“メインフレーム”と呼ばれるコンピュータでは文字コー ドとして使われているそうです。JIS漢字などの2バイトコードとの混在が難しいという問題があります。 Q:よく,容量が大きいデータを圧縮したりしますが,その原理は,どのようになっているのでしょうか? また,圧縮したものは解 凍しなければならないのですが,圧縮したままでは使えないのですか? また,なぜ圧縮したまま使えるようにしないのですか? A:例えば画像であれば,“画素”(ピクセル)といって,色や明るさの情報を持つ要素の集まりとして表示されます。 しかし,デジカメなどで撮った画像では,明るい画素の隣は,やはり明るいといった性質があり,これを考慮す ると,正味のデータの量は,実際の表示に使っているデータより少なくなっています。そこで,いろいろな方法 で無駄を省くと,少ないデータで同じ画像を現すことができます。しかし,表示するためには,また画素を縦横 に並べたものに戻す必要があるので,解凍が必要になります。圧縮したまま使えるようにならないか,というこ とですが,表示を目的としない処理(例えば音声認識など)では,可能かもしれません。(Very Good) Q:0 と 1 を組み合わせて文字などを表現し,文字の形などは,また別のフォントデータを使って表す,ということですが,その文字を 処理するプログラムも 0 と1 を組み合わせて作っているのですか? もし,そうなら,どうやって区別しているのでしょうか?

(8)

A:データそれ自体を見ても区別はできません。やはり,プログラムで区別しています。「ここから先は文字,ここ からは画素,ここはプログラム」というように指示します。(Very Good) Q:コンピュータではデータの容量を表すときの k,M,G などを 1024 を単位としてしているのはなぜですか?(同様の質問多数) A:データのメモリ上の場所は,番地(アドレス)で指示します。この番地も2進数なので,1024=2 10 のように 2 のべき乗を単位にしておくと,ちょうど区切りの良いところでまとめることができるからです。 Q:JIS8 単位コードの未定義部分は,将来も使われないのか?(同様の質問複数) A:おそらく,ずっと未定義のままだろうと重い増す。この未定義部分は,プリンタのメーカなどがプライベートな 領域としてグラフィックスパターンという,様々な模様を割り当てておいて,グラフや画像を表示するのに使っ た例があります。 Q:非印字コードは何のために使うのでしょうか?(同様の質問複数) A:制御コードといって,例えばブザーを鳴らしたり,プリンタ用紙の紙送りをしたりなど,の制御用に使います。 2-3の表の0000 0000~0000 1111,0001 0000~0001 1111でNUL, SOHなどと書かれているのが,非印字コー ドです。このページの下に,制御コードの表を示します。 昨 年 度 昨 年 度 昨 年 度 昨 年 度 ま で のま で のま で の 質 問ま で の質 問質 問質 問 とととと 回 答回 答回 答回 答 よ りよ りよ り よ り Q:ビットについて,よくわからないのですが,0 と 1 をそれぞれビットと呼ぶのでしょうか?(2 つのうちどちらか1 つをビットと呼ぶの でしょうか?) A:ビットという記号は,0 または 1 という値のどちらかを取ります。記号の“値”について説明が必要だったよう です。例えばアルファベットは,大文字と小文字を区別しなければ 26 種類の文字からなっていて,これを「アル ファベットは26値の記号である」と言います。「ひらがな」なら「50値」,アラビア数字なら0~9までの10種 類の記号を使いますから「10 値の記号」ということになります。「ビット」というのは,「アルファベット」や「ひ らがな」と同じ,「記号の名前」ということになります。(Very Good,ただ「わかりませんでした」と書くより, このように質問してもらうと,何が問題なのかわかります。) Q:1 バイト = 8 ビットのように, n

2

のビットを1単位とするのが都合がよい,ということだったが,具体的にどのよう に都合がよいのか? A:ビットパターンをさらに分割したとき, n

2

だと,同じ長さに分割できるからかな,と思いますが,確認したわ けではありませ。なお,複数ビットを一まとめで扱う場合,必ずしも n

2

にするわけではありません。組み込み用 のPICマイコンでは,命令符号は14ビットを1単位にしていました。 Q:海外で使う言葉の中で,使用する文字が多くてコード表に収まらないことはあるのか? (文字コードに関する質問多数) A:16 ビット使えば,1つの国の文字体系でコード表に収まらないということは,ないと思います。しかし,全世 界の文字を1つのコードで表そうとすると,16ビットでは足りません。中国,日本,台湾,ベトナム,シンガポ ー ル の 漢 字 や , 古 ハ ン グ ル 文 字 な ど を 追 加 す る と 不 足 す る そ う で す 。 全 世 界 の 文 字 を 表 せ る 規 格 と し て UNICODEがあります。 Q:2n分解法のやり方が理解できなかった。 A:「 n

2

分解法」は,基本的には「逐次比較法」と同じです。 何 回かお 見せ する機 会があ ると 思いま す。( 黒板を使 っていたので,プロジェクタを使う方法を考えないとい けない・・・。) C:2 進→10 進の変換の際,4 桁づつ区切って 10 進/2 進対応表の通りに変換し,その区切りに 16 のべき乗を掛けると計算が 速くできると思いました。0~15 の対応関係だけ覚えればよいので。 1000 1001 →8916→8×16 + 9 = 137 のように。 A:素晴らしいです。この方法では, n

2

を覚えなくても済みます。その分,計算の手間が増えますが。(このように “計算”と“記憶”にはトレードオフの関係があります。)(Perfect・・・ 何 年何 年何 年 ぶ り か に何 年ぶ り か に 出ぶ り か にぶ り か に出出出 し ま し たし ま し たし ま し たし ま し た 。。。。) 152 = 128 + 24 ・・152以下の最大の n

2

は128 = 128 + 16 + 8・・24以下の最大の n

2

は16 10進 16進 文字 10進 16進 文字 0 0x00 NUL(null文字) 16 0x10 DLE(データリンク エスケープ) 1 0x01 SOH(ヘッダ開始) 17 0x11 DC1(装置制御1) 2 0x02 STX(テキスト開始) 18 0x12 DC2(装置制御2) 3 0x03 ETX(テキスト終了) 19 0x13 DC3(装置制御3) 4 0x04 EOT(転送終了) 20 0x14 DC4(装置制御4) 5 0x05 ENQ(照会) 21 0x15 NAK(受信失敗) 6 0x06 ACK(受信OK) 22 0x16 SYN(同期) 7 0x07 BEL(警告) 23 0x17 ETB(転送ブロック終了) 8 0x08 BS(後退) 24 0x18 CAN(とりけし) 9 0x09 HT(水平タブ) 25 0x19 EM(メディア終了)

10 0x0a LF(改行) 26 0x1a SUB(置換)

11 0x0b VT(垂直タブ) 27 0x1b ESC(エスケープ)

参照

関連したドキュメント

ヒュームがこのような表現をとるのは当然の ことながら、「人間は理性によって感情を支配

このような情念の側面を取り扱わないことには それなりの理由がある。しかし、リードもまた

古物営業法第5条第1項第6号に規定する文字・番号・記号 その他の符号(ホームページのURL)

何日受付第何号の登記識別情報に関する証明の請求については,請求人は,請求人

名      称 図 記 号 文字記号

被保険者証等の記号及び番号を記載すること。 なお、記号と番号の間にスペース「・」又は「-」を挿入すること。

十二 省令第八十一条の十四の表第二号及び第五号に規定する火薬類製造営業許可申請書、火 薬類販売営業許可申請書若しくは事業計画書の記載事項又は定款の写しの変更の報告

モノづくり,特に機械を設計して製作するためには時