yuuka_maniaの日記: 固定小数点数 4
日記 by
yuuka_mania
浮動小数店じゃなくて、固定小数点ってのがあるのか。初めて知った。
数値を表すビット列のうち、何ビット目までが整数部で、何ビット目からが小数部かがあらかじめ固定・指定されているような形式のこと
固定小数点数は浮動小数点数に比べ表現できる値の範囲が狭く、計算の精度が低いが、高速に計算できるという特徴がある。汎用的な演算処理などでは浮動小数点数を用いるのが普通だが、限られた用途では計算の高速化のために用いられることがある。
ref.
https://e-words.jp/w/%E5%9B%BA%E5%AE%9A%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0.html
小数点位置が2進数できりがよいとはかぎらない (スコア:1)
固定小数点数での小数点位置はビット単位とはかぎらないですね。
「100倍の数値を保持する(1.23を整数123で表す)」みたいな、二進数ではビット単位で小数点位置が定まらない固定小数点数表現方式もあります。
2進固定小数点は四則演算が整数ベースで高速にできるのがメリットなのに対し、
10進固定小数点は乗除がちょっと重くなるものの、10進数できりがよい小数値の計算で浮動小数点数のような誤差が出ないないのがメリット。
(丸め誤差が許されない)会計処理でよく使われるから、VBの固定小数点数型(10000倍保持)はCurrency(通貨型)って名前だったり。
浮き動く小数のお店 (スコア:0)
屋台かな
Re: (スコア:0)
昔はたくさんあったんだけどね
昔は固定小数点型が普通 (スコア:0)
今となってはCPUにおけるソースがべらぼうに増えたので浮動小数点型が使われるけど、
昔だと浮動小数点計算ユニットがFPUとしてCPUと分離されていたので固定小数点型の方が普通だったのです。
今でもリソースが限られたりする場合は固定小数点型が使われていると思う。