三十二進法

提供: miniwiki
2018/8/19/ (日) 17:35時点におけるAdmin (トーク | 投稿記録)による版 (1版 をインポートしました)
移動先:案内検索

三十二進法(さんじゅうにしんほう)とは、32(てい)とし、底およびそのを基準にして数を表す方法である。

記数法

三十二進記数法とは、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 を底とする命数法である。

自然言語では、コンゴ民主共和国ンギティ語English版[2]が三十二進法の数詞を持つ[3]。内部に四進法を含み、減算も用いる複雑な体系である。

以下にンギティ語の数詞の一部を示す。

数詞
1 atdí
2 ɔyɔ
3 ìbhu
4 ì
8 àrù
12 otsi
16 ɔpi
20 àbà
24 àròtsí
28 àdzòro
32 wǎdhì
64 ɔyɔ wǎdhì
96 ìbhu wǎdhì
128 ìfɔ wǎdhì

参考文献

  1. 1.0 1.1 Josefsson, S. (2006), RFC 4648, The Internet Society, //tools.ietf.org/html/rfc4648 
  2. Gordon, Raymond G., Jr., ed. (2005), “Ngiti”, Ethnologue: Languages of the World (15 ed.), http://www.ethnologue.com/show_language.asp?code=niy . 2008閲覧. 
  3. Hammarström, Harald (2006), “Rarities in Numeral Systems”, Proceedings of Rara & Rarissima Conference, http://www.cs.chalmers.se/~harald2/rarapaper.pdf