このブログをオープンして、意外とアクセスが多いのは「固定小数点」のキーワードだ。みんな悩んでいるんだ!
ポイントは、16ビットなり32ビットのどこのビットの間に論理的な(頭で考えた)小数点を置くかということだ。
物理的な2進法の数値をそのまま扱うのか、つまり、1倍して考えるのか、1/2倍して考えるのか、あるいは1/65536倍して考えるのか、の違いだけである。
その前に、どのような範囲の数値入力を扱いたいか?その入力にどのような計数を掛けたいか?整理しておくことが必要だ。すべて、整数でやりたいということになると、小数点は、右端になる。
次に、小数、例えば0.03456をどのように掛けるのか?ということが問題になると思う。65536倍して
0.03456*65536=2264.9
2265に近似して、2265を掛けて、後段のどこかで和をとった後1/65536すれば良い。
すべての変数、係数の絶対値を1未満にする必要はない。
見ため(物理)のビット長制限をいかに考え(論理)で解決するのか、という話だ。
ヒントになっただろうか?
しっかり勉強したい方は、本を読むこと。
あわせて読みたい

固定小数点演算 この本は、1997年に買った。安いDSPスタータキットが発売されて、パソコンがあれば、DSPプログラミングができるようになった。本とDSPスタータキットを買って、D...
遠回りするようだけど、基礎がしっかりしていると、後でいろいろアイディアがでてきます。
それと、他人と議論することも、ヒントが出てくるので勧める。