LINEスタンプ制作代行サービス・LINEスタンプの作り方!

お電話でのお問い合わせ:03-6869-8600

stampfactory大百科事典

広義の記数法

この項では基本的な位取り記数法を除く、負の数や虚数を含む記数法等について述べる。ここでは仮数とは、その位に記された数のこととし、底(てい)とは、その位の一つ上の位の値が持つ、その位に対する重みの倍率とする。この節では、底が一定で冗長でない記数法について説明する。書き方は位取り記数法と同じく、底が "K" であれば、数をのように仮数を書き並べることで表記できる。この記法では、"n" を自然数とするとが成り立つ。一般的に位取り記数法と呼ばれるものは、0 から "N" − 1 までの "N" 個の整数を仮数にもつ底が "N" の表記法のことである。これは任意の 0 以上の実数を無限に近似できるが、その他の数を表記するには演算子が必要となる。中には底が自然数でないものも考えられている。コンピュータでは二進法を用いている場合がほとんどだが、符号の扱いが難しい。そこで、底を −2 とした記法が考えられた。この方法では、0 と 1 を用いてすべての整数を表すことが出来る。その他に複素数を表記するため、−1 + "i" を底としたものも考えられている("i" は虚数単位)。これらはドナルド・クヌースにより考案されたが、演算が複雑なため実際に用いられることは稀である。仮数が "n" 通りであれば、底は ±"n" となる。任意の実数を表記できるものとして、次の例が考えられる。"i" は虚数単位とする。仮数が "n" 通りであれば、底の絶対値はformula_4となる。任意の複素数を表記できるものとして、次の例が考えられる。なお、[A]と[A']、[C]と[C']は、実数の表記が一致する。ここでは、小数点から上に数えて n番目の位を n-1番位と呼ぶことにする。例えば二進法では、n番位の重みは 2 である。次に例を挙げる。ここでは -n をformula_6と表記する。他には、WWW との適合性のため -n を n と書いたり、formula_7を単に T と書く手法もある。標準的な記数法の上での、加法、減法、乗法、除法の算法について説明する。加法と乗法については、あらかじめ各仮数同士の計算結果を表にしておき、それを見ながら計算すればよい。加算時の繰り上がりは上の位にさらに足すことや、二桁以上の乗算については、formula_8が成り立つことに注意して計算を実行していく。減法については表を作ってもよいが、引く数に -1 を掛けてから引かれる数に足すという方法も考えられる。例として、底が 4 で仮数に -2, -1, 0, 1 を持つ記数法の、加算と減算と乗算の表を次に示す。底を K とした K進法の上で R を D で割る手順を説明する。記数法によって決まる、一桁の商を示す二変数関数 Q が分かっているとし、十分に大きな整数 n をとり、次の計算を行う。商は K進法で cc…c となり、余りは r となる。ただし記数法によっては、 0.XXX... の形で表記できる範囲がフラクタルを描くためQ が作れなくなり、除算が不可能となる。またこの操作をさらに続けると、循環小数が商として得られる。Q(r, d) の例を次に示す。d≦0 または r<0 または 10d≦r は禁止で、0≦r<d ならば Q(r, d)=0 d≦r<2d ならば Q(r, d)=1 2d≦r<3d ならば Q(r, d)=2 8d≦r<9d ならば Q(r, d)=8 9d≦r<10d ならば Q(r, d)=9 となる。d=0 または (r<-2d/3 かつ r<4d/3) または (-2d/3<r かつ 4d/3<r) は禁止で、d/3<r≦4d/3 または 4d/3≦r<d/3 ならば Q(r, d)=1 -2d/3≦r≦d/3 または d/3≦r≦-2d/3 ならば Q(r, d)=0 となる。d=0 または (r<-3d/2 かつ r<3d/2) または (-3d/2<r かつ 3d/2<r) は禁止で、d/2<r≦3d/2 または 3d/2≦r<d/2 ならば Q(r, d)=1 -d/2≦r≦d/2 または d/2≦r≦-d/2 ならば Q(r, d)=0 -3d/2≦r<-d/2 または -d/2<r≦-3d/2 ならば Q(r, d)=-1 となる。標準的な記数法に対しての、数の表記法を変換する方法を説明する。余りが仮数に含まれるように底で割っていく方法がある。この方法では下位の仮数から求まる。例えば十進法で表記された数3620を平衡三進法に変換すると、から平衡三進法では1formula_7formula_700formula_701formula_7と表記できる。また、基本的には複素数を表記する記数法ではこの変換は難しいが、底が -1+i で仮数に 0, 1 を持つ記数法では、比較的簡単に計算できる。ある複素数 x+yi に対して (x, y は整数) 、となる整数 p, q と仮数 c を求める。この式を変形すると、の 2 式が得られる。 x+y が奇数なら -x+y, -x-y も奇数なので p, q が整数であることに注意すると、x+y が奇数のとき c=1 、偶数のとき c=0 がわかる。上にある除法の節の Q を利用し、次の計算を行う。変換前の十進数を R とする。これにより、 R は K進法で c.ccc... と表記できる。上位より仮数を足してから底を掛けていく方法がある。例えば 0, 1 を仮数に持ち、底を -2 とした記数法で表記された数 1101101 を十進法に変換すると、から十進法では 29 と表記できる。上位より仮数を足してから底を掛けていき、最下位の仮数を足したら、それに最下位の重みを掛けるという方法がある。次の式を利用して変換できる。formula_14     (|e|>1)二つの記数法があるとし、それぞれの底が n, n となっており、底が n の方で k桁で表される全ての数が、底が n の方では 1桁で表される時、その対応により、各位を変換するだけで任意の数を変換することができる。例えば、0, 1 を仮数に持つ底が -2 の記数法 [A] と、-2, -1, 0, 1 を仮数に持つ底が 4 の記数法 [B] は、10 とformula_15 、11とformula_7 、00 と 0 、01 と 1 が対応しているので、例えば [A] で表記された 100011011 の二つの位を一つに統合すると、101formula_15formula_7 となり [B] での表記が得られる。各用語の詳しい定義を紹介する。0 を含む連続した整数の集合 z をとり、その元を位(あるいは桁)と呼ぶ。特定の位をさしたいときには、0番位や 1番位と単位をつけることにする。そして、任意の n∈z に対して空でない実数の有限集合 m をとり、その元を n番位の仮数と呼ぶ。そして、任意の n∈z に対して実数 K を定め、この K を n番位の重み(あるいは意味)と呼び、K/K を n番位の底(あるいは基数)と呼ぶ。これらをもとに数を表す方法を記数法(あるいは位取り記数法)という( m の元や K は複素数でもよい)。この z, m, K による記数法をK進法(あるいは K進記数法)とする。集合をとったとき、任意の ε>0 に対して |X-Y|<ε となる Y∈M が存在することを、K進法で X を表記できるという。ε を 0 に近づけたときの、 M の元の極限formula_19を X の K進展開 と呼び、これを...CCC.CC...と書いたものを X の K進表記(あるいは X の K進表現、あるいは X を意味する K進数)と呼ぶ。このとき、0番位以外で仮数が 0 の位が無限に続く部分は省略するが、省略されずに残った位の個数を桁数と呼ぶ(助数詞は桁)。また、表記を無限に持つ数が存在する記数法を、冗長であるという。

出典:wikipedia

LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。