パック十進数との変換
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/10 07:02 UTC 版)
4bit長の二進数(ニブル)に対し、5以上であれば3を足す処理は、パック10進数を二五進数に変換する処理に等しい。 4bit長の二五進数が連続してレイアウトされたレジスタを考える。このレジスタを左シフトして得られるビットパターンは、二五進数による元の値を二倍してパック10進数で表したものと等しい。 0001_0100_0011_1010 (二五進数で1437) ↙↙↙ (左シフト) ↙↙↙ 0010_1000_0111_0100 (パック10進数で2874) 上記の操作の反復により二進数を十進数へと高速に変換するアルゴリズムは、「Double_dabble(英語版)」と呼ばれており、除算を伴わない高速な基数変換アルゴリズムとして知られている。
※この「パック十進数との変換」の解説は、「二五進法」の解説の一部です。
「パック十進数との変換」を含む「二五進法」の記事については、「二五進法」の概要を参照ください。
- パック十進数との変換のページへのリンク