« 人材が少ないということ | トップページ | 2月の新年会 »

2008年2月25日

固定小数点演算 2

このブログをオープンして、意外とアクセスが多いのは「固定小数点」のキーワードだ。みんな悩んでいるんだ!

ポイントは、16ビットなり32ビットのどこのビットの間に論理的な(頭で考えた)小数点を置くかということだ。

物理的な2進法の数値をそのまま扱うのか、つまり、1倍して考えるのか、1/2倍して考えるのか、あるいは1/65536倍して考えるのか、の違いだけである。

その前に、どのような範囲の数値入力を扱いたいか?その入力にどのような計数を掛けたいか?整理しておくことが必要だ。すべて、整数でやりたいということになると、小数点は、右端になる。

次に、小数、例えば0.03456をどのように掛けるのか?ということが問題になると思う。65536倍して

    0.03456*65536=2264.9

2265に近似して、2265を掛けて、後段のどこかで和をとった後1/65536すれば良い。

すべての変数、係数の絶対値を1未満にする必要はない。

見ため(物理)のビット長制限をいかに考え(論理)で解決するのか、という話だ。

ヒントになっただろうか?

しっかり勉強したい方は、本を読むこと。

http://robotcontroller.cocolog-nifty.com/blog/2008/01/post_2512.html

遠回りするようだけど、基礎がしっかりしていると、後でいろいろアイディアがでてきます。

それと、他人と議論することも、ヒントが出てくるので勧める。

|

« 人材が少ないということ | トップページ | 2月の新年会 »

技術モータ制御」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: 固定小数点演算 2:

« 人材が少ないということ | トップページ | 2月の新年会 »