二五進法

二・五進法は、数を25を底(てい)として表現する方式です。この方法では、十進法の一桁を、25の冪(べき)を基準に表します。一般的なN進法とは異なり、桁上がりは五と十の二段階で発生します。

数列の比較



二・五進法六進法十進法の数列の違いを見てみましょう。六進法5+1=10十進法5+5=10と桁上がりが起こります。以下に、それぞれの数列における数の変化を示します。

二・五進法 六進法 十進法
-----
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
10 10 6
11 11 7
12 12 8
13 13 9
14 14 10
20 15 11


表記例



実際のローマ数字(二・五進法)と、それを六進法十進法に当てはめた場合の差異を以下に示します。減算則は適用しない表記です。

177 (1212 二・五進法)
二・五進法: CLXXVII
六進法: XXXXVVVVVIII
十進法: CXXXXXXXIIIIIII

1936 (1140311 二・五進法)
二・五進法: MCMXXXVI
六進法: MCCXXXXXVVVVIIII
十進法: MCCCCCCCCCXXXIIIIII

コンピュータでの利用



初期のコンピュータでは、ディジタル回路で十進数を直接扱う方法の一つとして二・五進法が使われました。そろばんと同じように、位取りを利用した数の表現方法です。具体的な実装方法は様々ですが、一例として4ビットを使用し、最上位ビット5、残りのビットに4、2、1の重みを与えて0から9までの数を表現する方法があります。また、FACOM 128では、7ビットを用いて下位5ビットで0から4、上位2ビット5の重みを表現していました。この方式は、2倍、5倍、10倍の計算が容易で、誤り検出も可能であったため、計算機の信頼性向上に貢献しました。

別の方法として、下位3ビットで0~4を表す方法もあります。これらの実装は一例であり、他にも様々な方法が存在します。

パック十進数との変換



4ビットの二進数(ニブル)において、5以上であれば3を足す処理は、パック10進数を二五進数に変換する処理に相当します。

二・五進数で表された4ビットの連続データ(レジスタ)を左シフトすると、元の値を2倍したパック10進数と同じ結果が得られます。

例:

0001_0100_0011_1010 (二五進数で1437)
左シフト
0010_1000_0111_0100 (パック10進数で2874)

この操作を繰り返すことで、二進数を十進数に高速変換するアルゴリズム「Double_dabble」が実現します。これは、除算を伴わない高速な基数変換アルゴリズムとして知られています。

その他



そろばん: 特に日本の近代以降の四つ珠のそろばんは、一種の二・五進法と見なすことができます。
矢頭良一の自働算盤: 日本初の機械式計算機である矢頭良一の自働算盤は、横移動式の操作で5個の歯をまとめて操作する機構を備え、ある種の二・五進法的な入力方式を採用していました。これはそろばんを参考にしたとも言われています。
貨幣制度: 多くの国の貨幣制度では、二・五進法が主流です。例えば、日本円では1円、5円、10円、50円、100円、500円硬貨や、1000円、5000円、10000円紙幣など、「1」と「5」の単位で構成されています。これは、上の単位の5分の1、下の単位の2倍、またはその逆という関係性を持っています。ただし、海外にはアメリカの25セント硬貨のように、1と5の単位に沿わない硬貨も存在します。

関連項目



二進法
五進法
六進法
十進法
二進法
五進法
二十進法
十進法
* 六十進法

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。