LogoMark.png

PositionalNotation のバックアップソース(No.1)

#author("2018-04-25T10:18:48+00:00","default:inoue.ko","inoue.ko")
*位取り記数法
N 種類の記号によって数を表す方法
~

私たちは数を表現するのに ''0,1,2,3,4,5,6,7,8,9'' の10個の記号を使っています。一般に十進法といいますが、特にこれでなければいけない・・ということはなく、「記号N個で数を表現することにしましょう。」とみんなでルールを決めてしまえば、実は何の不自由もなく、数を表現することができます。十進法が世界に広まったのはフランス革命の革命政府がメートル法とともに十進法を定めて以来と言われていて、それ以前は様々な表現が用いられていました。
 なぜ10進数がメジャーになったのか、強いていえば人間の手の指の数が両手で10本あるということ・・。特に10進法が優秀な記法であるというわけではありません。まずその呪縛から意識を解放することが、この先の理解に必要です。
~

***まずは10進法の理解
-使う記号は、''0,1,2,3,4,5,6,7,8,9'' の10個
-例えば、10進法の ''2597.24'' は・・
2*10SUP{3}; + 5*10SUP{2}; + 9*10SUP{1}; + 7*10SUP{0}; + 2*10SUP{-1}; + 4*10SUP{-2};  と書くことができます。
-N進法は、このルールをそのまま応用して考えればOKです。
~


***一般記法
-N個の記号を使って表現された ABCD.EF という数は、
''A*NSUP{3}; + B*NSUP{2}; + C*NSUP{1}; + D*NSUP{0}; + E*NSUP{-1}; + F*NSUP{-2}; ''

-例えば、5個の記号(0,1,2,3,4)を使った ''2314.13'' は
2*5SUP{3}; + 3*5SUP{2}; + 1*5SUP{1}; + 4*5SUP{0}; + 1*5SUP{-1}; + 3*5SUP{-2};
= 2*125 + 3*25 + 1*5 + 4*1 + 1*0.2 + 3*0.04 = 334.24SUB{(10)};
つまり、10進数では 334.24 を意味します。

-例えば、46個の記号(あいう・・わをん)を使った ''かきく.け'' は
か*46SUP{2}; + き*46SUP{1}; + く*46SUP{0};+ け*46SUP{-1};
= 5*2116 + 6*46 + 7*1 + 8*0.02174 = 10863.1739SUB{(10)};
&small(あ,い,う…を 0,1,2…として計算しています。);
~

***2進法
コンピュータの世界でおなじみの表現です。コンピュータ、日本語にすると電子計算機ですが、その電子回路の中では、電圧の高低(電流のON/OFF)によって信号が処理されています。したがって数(データ)の表現には、それを1と0に対応させる2進法が利用されます。

-記号は2つ ''0,1'' です
-4桁の2進数 ''1101'' は、10進数の13を意味します。
1*2SUP{3}; + 1*2SUP{2}; + 0*2SUP{1}; + 1*2SUP{0};
=1*8 + 1*4 + 0*2 + 1*1 = 13SUB{(10)}; 

-参考:[[2進シリアルデータのイメージ>GoogleImage:serial data]]
~
~

***16進法
これもコンピュータの世界でおなじみの表現です。2進4桁分でちょうど16進1桁に相当するので、2進数表記の代用としてよく用いられます。

-使う記号は16個 ''0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F'' です。
-4桁の16進数 ''F52A'' は、10進数の 62,762 を意味します。
F*16SUP{3}; + 5*16SUP{2}; + 2*16SUP{1}; +A*16SUP{0};
=15*4096 + 5*256 + 2*16 + 10*1 = 62,762SUB{(10)}; 


-色を表すRGB値にはこの16進数が用いられます。例えば、
--#00 00 00 は、R:0 G:0 B:0 で黒
--#FF FF FF は、R:255 G:255 B:255 で白
--#FF 00 FF は、R:255 G:0 B:255 でマゼンタ

#記号は「それが16進数である」・・という意味です。

-参考:[[Webカラー:色名と16進表記の対応>http://www.colordic.org/]]
~
~
~