「桁 」はこの項目へ転送 されています。横架材については「桁 (建築) 」をご覧ください。
位取り記数法 ( くらいどりきすうほう 、( 英 : positional notation )とは、いくつかの数字 を並べて数を表す方法である(例:123 、3.14 、3;8,24 )。
数字ないし決まった文字数の数字列の置かれた位置を位 ( くらい ) または桁 ( けた ) [ 注 1] と呼び[ 2] 、数字の位を決めることを位取りという。
一つの桁を N 種の数字列の組み合わせで表す位取り記数法をN 進位取り記数法 ( エヌしんくらいどりきすうほう ) あるいは単に N 進法 ( エヌしんほう ) [ 注 2] と呼ぶ。また、数 N を基数 ( きすう 、( 英 : radix )[ 注 3] ないし底 ( てい 、( 英 : base )と呼ぶ。
例えば、一般的に用いられる 0 から 9 までのアラビア数字 による記数法は十進法 にあたる。十進法でない例として、時刻 や角度 を表す単位 の分 や秒 は六十進法 が使われている。またコンピュータ の分野においては数値表現に二進法 とその派生である八進法 や十六進法 がしばしば用いられる。
位取り記数法は古代中国に由来する。中国では紀元前14世紀の商時代にすでに十進法が用いられており、紀元前4世紀にはゼロを空位として記述する位取り記数法を用いていた。対してヨーロッパにおける最古の十進法が記述された文書は976年のスペインの手稿本である[ 3] 。
本項では N が 2 以上の整数 の場合を扱う。それ以外の場合については広義の記数法 の記事を参照のこと。また後述するp 進数 の概念とは(関連があるものの)別概念であるので注意が必要である。
記法
2 以上の整数 N を底(基数)とする位取り記数法(N 進法)において、それぞれの位の値は 0 から N − 1 までの N 個の非負 の整数に対応した数字 で表される(例:1234567890 、一二三四五六七八九〇 )[ 5] 。
非負の数は位取り記数法によって、以下のように表される[ 5] :
d
m
−
1
⋯
d
1
d
0
⏟
integer part
.
⏟
radix point
d
−
1
d
−
2
⋯
⏟
fractional part
.
{\displaystyle \underbrace {d_{m-1}\cdots d_{1}d_{0}} _{\text{integer part}}\underbrace {.} _{\text{radix point}}\underbrace {d_{-1}d_{-2}\cdots } _{\text{fractional part}}\,.}
ここで d k ∈ {0, ... , N − 1} は位の値を表し、添字 k はここでは Nk [ 注 4] の位の冪指数 を表す。添字 k が 0 以上の位の値の並びは整数を表し整数部 (英 : integer part )と呼ばれる。添字 k が −1 以下の位の値の並びは小数部 (英 : fractional part )と呼ばれる。整数部と小数部は小数点 [ 注 5] (英 : radix point )によって区切られる(例:123.456 )。もし位取り記数法で表される数が整数ならば、小数点は書かなくともよい(例:123 )。m は整数部の桁数を表す。小数部について、k = −1, −2 , ... の位はそれぞれ順に小数第一位、第二位、……と呼ばれる。
また負の数は負符号 (−)を数字列の前方につけて表す[ 9] (例:−123.456 、−123 ):
−
d
m
−
1
⋯
d
1
d
0
.
d
−
1
d
−
2
⋯
.
{\displaystyle -d_{m-1}\cdots d_{1}d_{0}.d_{-1}d_{-2}\cdots \,.}
位取り記数法による数の表示は、底の冪 Nk とその位の値 dk の積 の和 の略記と見なせる:
d
m
−
1
⋯
d
1
d
0
.
d
−
1
d
−
2
⋯
=
∑
k
m
−
1
d
k
N
k
.
{\displaystyle d_{m-1}\cdots d_{1}d_{0}.d_{-1}d_{-2}\cdots =\sum _{k}^{m-1}d_{k}N^{k}\,.}
ここで右辺の和の記号 は以下を表す:
∑
k
m
−
1
d
k
N
k
=
d
m
−
1
N
m
−
1
+
⋯
+
d
1
N
+
d
0
+
d
−
1
N
−
1
+
⋯
.
{\displaystyle \sum _{k}^{m-1}d_{k}N^{k}=d_{m-1}N^{m-1}+\dotsm +d_{1}N+d_{0}+d_{-1}N^{-1}+\dotsm {}\,.}
例えば、十進法 における 123.45 は、
123.45
=
1
⋅
10
2
+
2
⋅
10
1
+
3
⋅
10
0
+
4
⋅
10
−
1
+
5
⋅
10
−
2
=
100
+
20
+
3
+
4
10
+
5
100
{\displaystyle {\begin{aligned}123.45&=1\cdot {10}^{2}+2\cdot {10}^{1}+3\cdot {10}^{0}+4\cdot {10}^{-1}+5\cdot {10}^{-2}\\&=100+20+3+{\frac {4}{10}}+{\frac {5}{100}}\end{aligned}}}
と展開できる。
小数部の位の値は有限個の場合もあれば、そうでない場合もある。N 進法で循環小数 となるような有理数 や、無理数 は有限の桁数では表せないため、末尾に省略記号 (…)を付けて有限桁でないことを示す(例:円周率 π の十進展開 π = 3.14159... )。
循環小数について、以下のように、循環節 (英 : repetend )を上線などによって示す記法も用いられる(以下では上線を用いる)[ 10] :
d
m
−
1
⋯
d
1
d
0
.
d
−
1
d
−
2
⋯
d
−
r
⋯
d
−
(
r
+
λ
−
1
)
¯
⏟
repetend
{\displaystyle d_{m-1}\cdots d_{1}d_{0}.d_{-1}d_{-2}\cdots \underbrace {\overline {d_{-r}\cdots d_{-(r+\lambda -1)}}} _{\text{repetend}}}
ここで λ は循環節の長さを表し、r は循環節が始まる位を示す。例えば十進法 において 1 / 14 は 0.0714285 と表される。
底の明示
慣習的に、特に断りのない限り、位取り記数法で示された数は十進数 と解釈される。異なる底を用いていることを示すため、以下のように底を併記することがある:
d
m
−
1
⋯
d
1
d
0
.
d
−
1
d
−
2
⋯
d
−
ℓ
(
N
)
,
{\displaystyle {d_{m-1}\cdots d_{1}d_{0}.d_{-1}d_{-2}\cdots d_{-\ell }\,}_{(N)}\,,}
または底を括弧で囲わず、
d
m
−
1
⋯
d
1
d
0
.
d
−
1
d
−
2
⋯
d
−
ℓ
N
,
{\displaystyle {d_{m-1}\cdots d_{1}d_{0}.d_{-1}d_{-2}\cdots d_{-\ell }\,}_{N}\,,}
あるいは数を括弧書きして、
(
d
m
−
1
⋯
d
1
d
0
.
d
−
1
d
−
2
⋯
d
−
ℓ
)
N
.
{\displaystyle \left(d_{m-1}\cdots d_{1}d_{0}.d_{-1}d_{-2}\cdots d_{-\ell }\right)_{N}\,.}
上記の記法において、底の数自体は十進法で表記される。例えば、10(2) は二進数 であり、十進数 2 に等しい数を表す。また 100(16) 十六進数 であり、十進数 256 に等しい数を表す。
その他の記法として、コンピュータ・プログラミング において、プログラミング言語 によっては、定まった数を表す構文 (リテラル )が用意されている。例えばC言語 やC++ において、123
は十進法、0x012abc
および 0X345DEF
は十六進法、0b0101
および 0B1010
は二進法、0123
は八進法 の定数 をそれぞれ表し、底の区別は先頭の記号によってなされる(0
以外の数字で始まるなら十進数、0x
または 0X
で始まるなら十六進数、0b
または 0B
で始まるなら二進数、それ以外は八進数と解釈される[ 注 6] )[ 11] [ 12] 。JavaScript などでは八進数についてより厳格に、0o
または 0O
で始まる文法を採用している[ 13] 。より柔軟な記法として、2から36までの底について[ 注 7] 、Smalltalk では base "r" value
(例:16rFFEF
)[ 14] 、Erlang では base "#" value
(例:16#ffef
)[ 15] という構文を採用している。base
は底を表す十進整数であり、value
はその進数法での数値を表す英数字の列である。
適用例
十進法
数列
十進法は最も身近な位取り記数法である。十進法では、十 個の数字 を用い、一桁にひとつの数字を容れて必要な桁数分を並べて数値を表す。
アラビア数字 なら
0 、1 、2 、3 、4 、5 、6 、7 、8 、9
の十個であり、
漢数字 なら
〇 、一 、二 、三 、四 、五 、六 、七 、八 、九
の十個である。以下、アラビア数字を例に説明するが、漢数字の場合も同様である。
十進法ではこれらの数字を列べる事で数を表現する。
例えば、312.02 は、
3
×
10
2
+
1
×
10
1
+
2
×
10
0
+
0
×
1
10
1
+
2
×
1
10
2
{\displaystyle 3\times 10^{2}+1\times 10^{1}+2\times 10^{0}+0\times {\frac {1}{10^{1}}}+2\times {\frac {1}{10^{2}}}}
を表す。
Nが十未満
例えば五進法 をアラビア数字で表した場合、使う数字は
0 、1 、2 、3 、4
の五種類の記号であり、五進法における431.02 は、
4
×
5
2
+
3
×
5
1
+
1
×
5
0
+
0
×
1
5
1
+
2
×
1
5
2
{\displaystyle 4\times 5^{2}+3\times 5^{1}+1\times 5^{0}+0\times {\frac {1}{5^{1}}}+2\times {\frac {1}{5^{2}}}}
を表し、これは十進法の116.08 にあたる。
注意すべき点は、同じ「431.02 」でも五進法のものと十進法のものでは値が異なる。このため、位取り記数法の話をするときには、常に何進法の話であるのかを明示する必要がある。(後述 )
Nが十を超過
十二進法 、十六進法 、二十進法 のように、N が十より大きい場合は用いる数字は、アラビア数字だけでは足りなくなる。そこで、十以上の数を表記する「数字」として、ラテン文字 のアルファベット の大文字 を用いる事が多い。
例えば十六進法であれば、「数字」として
0 、1 、2 、3 、4 、5 、6 、7 、8 、9 、A 、B 、C 、D 、E 、F
を用い、A 、B 、C 、D 、E 、F はそれぞれ十進法の自然数10、11、12、13、14、15に対応する。
従って例えば2F3.A7 は
2
×
16
2
+
15
×
16
1
+
3
+
10
×
1
16
1
+
7
×
1
16
2
{\displaystyle 2\times 16^{2}+15\times 16^{1}+3+10\times {\frac {1}{16^{1}}}+7\times {\frac {1}{16^{2}}}}
を表し、これは十進法の755.652344 にあたる。
可除性
有理数 を小数 で表す際、有限小数になる場合と循環小数 になる場合がある。本節では底 N の位取り記数法で有理数が有限小数として表される(分子が分母で「割り切れる」)条件について述べる。
一般に、既約分数 x / y が底 N の位取り記数法において有限小数として表されるには、分母 y が底 N が持つ素因数
p
1
,
…
,
p
m
{\displaystyle p_{1},\,\dots ,\,p_{m}}
の積
y
=
p
1
k
1
⋯
p
m
k
m
{\displaystyle y=p_{1}^{k_{1}}{}\dotsb {}p_{m}^{k_{m}}}
(ただし k は 0 以上の整数)になっていなければならない(さもなくば N の冪 を掛けて整数にならない)[ 17] 。この条件は分子によらないため、有限小数で表せるかは単位分数 で表される有理数に限って調べればよい。
例えば十進法 では N = 10 = 2⋅5 のため、ある有理数を既約分数で表した際、分母が 2 と 5 以外に素因数を持たない場合には有限小数となり、それ以外は循環小数となる。
N 進有限小数が M 進有限小数でもあるには、その有限小数を既約分数で現した際の分母が2つの底 N , M の冪のいずれの約数 にもなる必要がある。特に、すべての N 進有限小数が M 進有限小数であるには M の素因数がすべて N の素因数に含まれていなければならない。
表記の一意性
この節では特に断りがない限り十進数について述べるが、他の底についても同様である。
実数の N 進表記は一意ではない。
よく知られているように、
1 =1.000 …=0.999…
である。また、以下のように、上位桁に不要な0 を付け加えることもできる。
0013 =13
通常は「0013 」のような表記は許さないとする事が多いが、コンピューターなどでは、最大で4桁の整数値であることを示すため、あえて「0013 」のような表記をする場合がある。
以上のような例を除くと0以外の 実数は一意に表現できる。
しかし、0のみは
「+0 」、「-0 」
の二通りの表記が可能である(いわゆる負のゼロ の問題)。これが原因で、コンピューター・プログラムでは0 のみ例外処理 を求められる場合がある。
また、一般には0は1桁の数とされているが、ルールを優先し1桁の数と認めない場合もある(覆面算#ルール )。
表計算ソフト の列名などで用いられている、A, B, ..., Z, AA, AB, ... のような形式は、位取り記数法の一種と考えることができ、かつ0より大きい整数を一意に表せる。(en:Bijective numeration )
底の変換アルゴリズム
与えられた非負整数 T を、記号
c
0
,
…
,
c
N
−
1
{\displaystyle {\mathfrak {c}}_{0},\ldots ,{\mathfrak {c}}_{N-1}}
を数字として用いた N 進表記
a
r
⋯
a
0
{\displaystyle a_{r}\cdots a_{0}}
で表すには、以下のアルゴリズムを用いればよい。
なお、このアルゴリズムは、 M ≠ N によりM 進表記されている T を N 進表記に書き換えるときに使われる事が多いので、このアルゴリズムを底の変換アルゴリズム と呼ぶ。
入力T を受け取る。
T=0 なら
c
0
{\displaystyle {\mathfrak {c}}_{0}}
を出力して停止。
iを0に初期化
while(T≠0){
T を N で割った商を T' 、余りを k とし、
a
i
←
c
k
{\displaystyle a_{i}\gets {\mathfrak {c}}_{k}}
とする。
T ←T' 、i←i+1
}
r←i-1
a
r
⋯
a
0
{\displaystyle a_{r}\cdots a_{0}}
を出力
なお、T >0に対しては等式
r
=
⌊
log
N
T
⌋
{\displaystyle r=\left\lfloor \log _{N}T\right\rfloor }
が知られている(なお、添え字を0から始めているので、T の桁数はr +1) 。ここで
⌊
x
⌋
{\displaystyle \left\lfloor x\right\rfloor }
は床関数 である。
底の変換例
十進法→五進法への変換
十進法 の 5213 を五進法 に置き換える場合、5で割っていき、商が5未満になった時点で止める。余り無しの場合は 0 を明記する。商が5未満になったら、最後の商を先頭にして、最初の余りを末尾にして列べる。
5213 ÷ 5 = 1042 余り 3
1042 ÷ 5 = 208 余り 2
208 ÷ 5 = 41 余り 3
41 ÷ 5 = 8 余り 1
8 ÷ 5 = 1 余り 3
1 ÷ 5 = 0 余り 1
から、5213 = 3 + 2 × 5 + 3 × 52 + 1 × 53 + 3 × 54 + 1 × 55 となるので、五進表記では 131323 と表すことができる。また、55 = 3125, 56 = 15625 であるから、55 ≤ 5213 < 56 が成り立っているので、対数を取ると
5
≤
log
5
5213
<
6
{\displaystyle 5\leq \log _{5}5213<6}
となり、
r
=
⌊
log
5
5213
⌋
=
5
{\displaystyle r=\left\lfloor \log _{5}5213\right\rfloor =5}
が分かる。
十進法以外→十進法以外への変換
十進法以外のN進法も同様で、例えば38 に当たる六進法 の 50213 を十六進法 に置き換える場合も、商が24(6) = 10(G) を下回るまで24で割っていく。
50213 ÷ 24 = 1522 余り 1
1522 ÷ 24 = 41 余り 14
42 ÷ 24 = 1 余り 13
以上より、1, 13, 14, 1の列になり、13(6) = 9(G) 、14(6) = A(G) なので、十六進法では 19A1 となる。
同値の小数への変換
小数を別のN進法に変換する場合には、以下の経過を践む。
変換前と変換後の冪数を列挙する。
小数点以下の元の桁数に合わせて、冪数を掛ける。
端数処理 をする。
整数と同じく、冪数を掛けた結果を、変換後のNで割っていく。
変換後のNで割った結果を最後の商→最初の余りの順に列挙する。この列が同値の小数となる。
(例)十進数0.531441 → 十二進数六桁
十進数 1000000 → 2985984(十の六乗→十二の六乗)
531441×2.985984 = 1586874.322944
1586874.322944 → 1586874
1586874÷12 = 132239 余り6
132239÷12 = 11019 余り11
11019÷12 = 918 余り3
918÷12 = 76 余り6
76÷12 = 6 余り4
11(A) = B(C) なので、6463B6(C) を列べる。
以上より、十進数0.531441 は、十二進数では約0.6463B6 となる。
(例)十進数0.124053 → 六進数九桁
十進数 1000000 → 10077696(十の六乗→六の九乗)
124053×10.077696 = 1250168.42189
変換前の小数が六桁なので、乗数も小数点以下を六桁にする。
1250168.42189 → 1250168
1250168÷6 = 208361 余り2
208361÷6 = 34726 余り5
34726÷6 = 5787 余り4
5787÷6 = 964 余り3
964÷6 = 160 余り4
160÷6 = 26 余り4
26÷6 = 4 余り2
42443452(6) を列べる。分母が 10077696(A) = 1000000000(6) なので、小数点以下は9桁になり、先頭に0が1つ加わる。
よって、十進数0.124053 は、六進数では約0.042443452 となる。
複数の底の混在
十進法 では、機械的に十 倍、百 倍、千 倍、一万 倍…の順で増える。同じく、十二進法 では、機械的に十二 倍、百四十四 倍、千七百二十八 倍、二万七百三十六 倍…の順で増える。
しかし、底を2つに分ける場合がある。十進法に対して、二・五進法 (十が五進命数法で「二五」なので、区別するため二と五の間に点が必要)では二 と五 の2つの底があるので、桁が上がる度に五倍→二倍→五倍→二倍…と交互になり、「十の冪数」と「十の冪数の五倍」が交互に現れる。これはそろばん と同じく一桁が「一の位」4つと「五の位」1つで構成される方法だが、計算機にも応用されている。
時間 :
秒 、六十進法 、分 、六十進法 、時 、二十四進法 、日 、七進法 、週
秒 、六十進法 、分 、六十進法 、時 、二十四進法 、日 、三十進法 、月 、十二進法 、年 、十進法 、十年紀 、十進法 、世紀 、十進法 、千年紀
バビロニア の六十進法 もそろばんに似た方法で、一桁が「一の位」9つと「十の位」5つで構成されており、整数は十倍→六 倍→十倍→六倍と交互になり、小数は六分の一 →十分の一 →六分の一→十分の一と交互になる。この方法では、整数第二位は「六十 の位」と「六百 の位」に分かれ、整数第三位は「三千六百 の位」と「三万六千の位」に分かれ、小数第一位は「六分の一の位」と「六十分の一の位」に分かれ、小数第二位は「三百六十 分の一の位」と「三千六百分の一の位」に分かれている。
階乗進法
これら二・五進法や六十進法のように複数の底が設定されている場合には、" : " などの区切り符号を付ける。例えば、六十進法で十進法を補助とする場合には、58 → 59 → 1:00 → 1:01 → 1:02 …の順に数列が進む。
日本の通貨(硬貨と紙幣)には、昇順で一円→五円→十円→五十円→百円→五百円→千円→五千円→一万円があるので、通貨を一つの単位と見れば、これは前述の二・五進法である。この配列を見ると、一(100 )、十(101 )、百(102 )、千(103 )、一万(104 )が十の冪数であり、五、五十、五百、五千が「十の冪数の五倍」である。
英語表記
「底 N 」を英語で、base N という。特定のNに関しては倍数接頭辞 を基に名称がついているが、名称の付け方は不規則である。通常、接尾辞が -ary である語は、ラテン語の -arius (~の、~に関する) に由来して、「N 個一組」「N を単位とする」「N 個から成る」を意味する語である。一方、接尾辞が -imal である語は、ラテン語の -imus に由来して、「第 N」「N 分の一」を意味する語である。
以下は「底 N 」、もしくはより明解に「N 個一組」「N を単位とする」「N 個から成る」という意味の形容詞 である。
二 :binary
三 :ternary
四 :quaternary
五 :quinary
六 :senary
七 :septenary
八 :octonary, octal
九 :nonary
十 :denary, decimal
十二 :duodenary, duodecimal
十五 :quindenary, quindecimal, pentadecimal
十六 :sedenary, sedecimal, hexadecimal
十八 :octodenary, octodecimal
二十 :vicenary, vigesimal
二十四 :tetravicenary, tetravigesimal
三十 :tricenary, trigesimal
三十二 :duoreicenary, duoreigesimal
三十六 :hexatrecenary, hexatrigesimal
六十 :sexagenary, sexagesimal
これらを使い、a base-two number で「二進数」、the base-two numeral system で「二進法」を表す名詞となる。
同様にa binary number 、the binary numeral system でもそれぞれ「二進数」、「二進法」を表す名詞となる。他の底も同様。
p 進数
N 進表記と関連が深い概念として、素数 p 毎に定まる p 進数 というものもある。
名称は本稿で解説しているN 進表記の別名であるN 進数と同一であるものの、別概念ではある。ただし両者は非常に関連があり、整数の p 進表記を(可算)無限桁の自然数の範囲に拡張したものが p 進整数で、さらにそこに有限桁の小数部分を許したものが p 進数である。ただし「無限桁の整数」(の一部は有理数として再解釈できるもののほとんど)は本稿で扱う普通の数(実数 )とは異なる。
注釈
^ 桁という呼称は、そろばん の珠を通す軸を桁と呼ぶことに由来する。
^ 「N 進法」という語は記数法 にも命数法 にも用いられる。本稿では単に N を底とする数の表示法を N 進法と呼ぶ。
^ 集合論 における基数 とは、日本語は同じだが異なる概念である。混同を避けるため、本項では次に挙げる「底」の語を主に用いる。
^ Nk は N の k 乗 を表す。N 進法において N = 10 であり、k を非負として、
N
k
=
1
0
⋯
0
⏟
k
個
{\textstyle \scriptstyle N^{k}=1\underbrace {0\cdots 0} _{k\,{\text{個}}}}
である。冪指数が負の場合、例えば N −2 は 1 / N 2 を表し、一般に N −k = 1 / N k である。従って N 進法において、k を非負として、
N
−
k
=
0.0
⋯
0
⏟
k
桁
1
{\textstyle \scriptstyle N^{-k}=\underbrace {0.0\cdots 0} _{k\,{\text{桁}}}1}
である。
^ 本項では小数点 にピリオド (.)を用いる。他にコンマ (,)や中黒 (・)などが用いられる。
^ より正確には続く数字列が十進数、十六進数、二進数、八進数として正しくなければならない。十進数には 0 から 9 までの数字、十六進数には加えて A (a) から F (f) までの6つの数字が使用できるが、二進数には 0 と 1 のみ、八進数には 0 から 7 までの数字のみが使用できる。
^ 底が36までに制限されるのは、数値に使える文字種がアラビア数字 10文字と基本ラテン文字 26文字の計36文字に限られるため。
出典
^ 山田 忠雄, 倉持 保男, 山田 明雄, 酒井 憲二, 柴田 武 編『新明解国語辞典』(第六版[特装版])三省堂、2005年、417頁。ISBN 4-385-13105-8 。OCLC 60598361 。
^ Needham, Joseph; Tsien, Tsuen-hsuin, eds (2001). Science and civilisation in China. Pt. 1: Vol. 5. Chemistry and chemical technology Paper and printing / by Tsien Tsuen-Hsuin . 5 (Repr ed.). Cambridge: Cambridge Univ. Pr. ISBN 978-0-521-08690-5
^ a b Weisstein, Eric W. "Base" . mathworld.wolfram.com (英語).
^ Weisstein, Eric W. "Negative" . mathworld.wolfram.com (英語).
^ Weisstein, Eric W. "Vinculum" . mathworld.wolfram.com (英語).
^ "Integer literal" . cppreference.com . 2023年3月16日閲覧 。
^ "Integer constant" . cppreference.com . 2023年3月16日閲覧 。
^ "MDN web docs - 字句文法 # 数値リテラル" . developer.mozilla.org . 2023年3月16日閲覧 。
^ "A Simple Overview of Smalltalk Syntax" . www.gnu.org . 2023年3月16日閲覧 。
^ "Data Types" . www.erlang.org . 2023年3月16日閲覧 。
^ Weisstein, Eric W. "Regular Number" . mathworld.wolfram.com (英語).
参考文献
「桁 」『デジタル大辞泉』。https://kotobank.jp/word/%E6%A1%81 。コトバンク より2023年4月19日 閲覧 。
ウォーレン, ヘンリー・S, ジュニア 著、滝沢 徹, 鈴木 貢, 赤池 英夫, 葛 毅, 藤波 順久, 玉井 浩 訳『ハッカーのたのしみ』エスアイビー・アクセス、2004年。ISBN 9784434046681 。
James, Glenn、James, Robert C. 著、一松 信, 伊藤 雄二 訳『数学辞典』(普及版)朝倉書店、2011年4月25日。ISBN 978-4-254-11131-6 。
Hardy, G. H. (1929). “An introduction to the theory of numbers”. Bulletin of the American Mathematical Society (American Mathematical Society) 35 : 778-818. doi :10.1090/S0002-9904-1929-04793-1 . ISSN 1088-9485 .
関連項目
ウィキバーシティに
N進法 に関する学習教材があります。
総合
通常のN進法
特殊なN進法
その他