http://homepage2.nifty.com/m_kamada/docsproc/asmurr.htm
via http://www.rubyist.net/~matz/20060726.html#p02
コンピュータでの浮動小数点数の取扱いは、
IEEE754が一般的なんだけど、こんな考え方もあるのか。
ちなみに IEEE754 の詳細は wikipedia とかにあるね。
Wikipedia - 浮動小数点数
Wikipedia - IEEE754
URR は日本人によって考案された表現方法で、
考案された当時の技術では実装が困難だったために、
規格化されなかったものらしい。
読んでみるとわかるけど、まさに天才的。
長所
- オーバーフローやアンダーフローが事実上発生しない。
32 ビットの URR で表現できる数値の最大値は 10 進数に
1 億桁以上の数になる
- ±1 の近辺で精度が非常に高い
- データのサイズに関係なく一定のフォーマットである
精度を下げるときは末尾を切り捨て、
精度を上げるときは末尾に 0 を補うだけ。
- 大小の比較が符号つき整数と同じ手順でできる
- 符号の反転が符号つき整数と同じ手順でできる
短所
- デコードがやや面倒。
- 例外的な表現を入れる余地がない
IEEE 754 で言うところの NaN(非数)を表現することができない