二五進法

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

二五進法(にごしんほう、米:Bi-quinary coded decimal)は、2と5を(てい)とし、底およびそのを基準にして十進のひと桁を表す方法である。

コンピュータにおける二五進法

初期のコンピュータにおいて、ディジタル回路で直接十進で数を扱う方法のひとつとして使われた。基本となる考え方としてはそろばんと同じである。

具体的な実装方法は多岐にわたるが、ここでは一例として最上位ビットを5、そして最下位ビットに向って4、2、1という重みを与えた4ビットで0から9までのビット列を、二進数と比較しながら示す。

十進数 二五進法 二進数
0 0 000 0000
1 0 001 0001
2 0 010 0010
3 0 011 0011
4 0 100 0100
5 1 000 0101
6 1 001 0110
7 1 010 0111
8 1 011 1000
9 1 100 1001

2桁以上については、通常の十進表現と同様に、これを複数桁並べ十のベキの重みを与える。

ここで示した方法はあくまで一例であり、特に3ビットで0~4を表す方法は他にもいろいろありうる。

パック10進数との変換

  • 4bit長の二進数(ニブル)に対し、5以上であれば3を足す処理は、パック10進数を二五進数に変換する処理に等しい。
  • 4bit長の二五進数が連続してレイアウトされたレジスタを考える。このレジスタを左シフトして得られるビットパターンは、二五進数による元の値を二倍してパック10進数で表したものと等しい。

0001_0100_0011_1010 (二五進数で1437)

(左シフト)

0010_1000_0111_0100 (パック10進数で2874)

  • 上記の操作の反復により二進数を十進数へと高速に変換するアルゴリズムは、「Double_dabbleEnglish版」と呼ばれており、除算を伴わない高速な基数変換アルゴリズムとして知られている。

その他

アバカス、特に日本の近代以降の四つ珠のそろばんは一種の二五進法である。日本最初の、また独自に開発された手回し式計算機である矢頭良一自働算盤の入力方式も、二五進法方式(そろばんを参考にしたものと思われる)であった(内部の計算方式は十進)[1]

貨幣制度では、発行される硬貨・紙幣の額面は、二五進法が主流である。例えば日本円では、あまり流通していない二千円紙幣を別にすれば、硬貨と紙幣は「1」と「5」のつく単位なので、

となっている(海外ではアメリカの25セント硬貨など1系・5系でない硬貨・紙幣が広く一般的に流通している例もある)。

テンプレート:Comp-substub