「三十二進法」の版間の差分
ja>MomijiRoBot 細 (Bot: ö → ö ,Replaced HTML character entity reference to the equivalent character/string∵Check Wikipedia #11) |
細 (1版 をインポートしました) |
(相違点なし)
|
2018/8/19/ (日) 17:35時点における版
三十二進法(さんじゅうにしんほう)とは、32 を底(てい)とし、底およびその冪を基準にして数を表す方法である。
Contents
記数法
三十二進記数法とは、32 を底とする位取り記数法である。慣用に従い、通常のアラビア数字は十進数とし、三十二進記数法の表記は括弧および下付の 32 で表す。三十二進記数法で表された数を三十二進数と呼ぶ。
一般には、0, 1, …, 8, 9, A, B, …, U, V の 32 個の数字を用いる。A から V は、それぞれ十進での 10 から 31 を表す。右端あるいは小数点で 1 の桁を表す。数字の意味する数は、左に 1 桁ずれると 32 倍になり、右に 1 桁ずれると 1/32 になる。(11)32 という表記において、左の「1」は三十二を表し、右の「1」は一を表し、合わせて三十三を表す。
同様に、 (50)32 は 5×321 + 0×320 = 160 を表し、 (B4)32 = 11×321 + 4×320 = 356 を意味する。
I と 1 および O と 0 は紛らわしいので、その二つを除いて A から X までを用いることもある。
コンピュータ
コンピュータでは二進法が使われるので、底が2の冪である記数法との変換は容易である。このため、一部で三十二進法が使われる。
上記の 0, …, 9, A, …, V を用いるエンコード方式を base32hex と呼ぶ[1]。
Base32
Base32 は 40 ビットを 8 文字に変換するエンコード方式である[1]。Base64 と異なり、大文字、小文字の違いが無視される環境においても正しく処理できる。以下に Base32 で用いる文字を示す。O, I と紛らわしい 0, 1 はない。
0 | A | 8 | I | 16 | Q | 24 | Y |
---|---|---|---|---|---|---|---|
1 | B | 9 | J | 17 | R | 25 | Z |
2 | C | 10 | K | 18 | S | 26 | 2 |
3 | D | 11 | L | 19 | T | 27 | 3 |
4 | E | 12 | M | 20 | U | 28 | 4 |
5 | F | 13 | N | 21 | V | 29 | 5 |
6 | G | 14 | O | 22 | W | 30 | 6 |
7 | H | 15 | P | 23 | X | 31 | 7 |
埋め | = |
変換後のデータが 8 文字に満たない場合は、 Base64 と同様に「=」で埋める。
命数法
三十二進命数法とは、32 を底とする命数法である。
自然言語では、コンゴ民主共和国のンギティ語[2]が三十二進法の数詞を持つ[3]。内部に四進法を含み、減算も用いる複雑な体系である。
以下にンギティ語の数詞の一部を示す。
数 | 数詞 |
---|---|
1 | atdí |
2 | ɔyɔ |
3 | |
4 | |
8 | àr |
12 | otsi |
16 | ɔp |
20 | àbà |
24 | àròtsí |
28 | àdzòro |
32 | wǎdh |
64 | ɔyɔ wǎdh |
96 | |
128 |