藤原です。 頭の中が「組み込み」の世界からはずれていました。 パソコンの話じゃないのだから…… This message is reply to Shimozaki Kenichi - san (Subject was : [H8-ML(4629)] RE: [H8-ML(4626)] Re: H8/3052で浮動小数点演算がうまくできず困っています。) Message-ID: <COEILLMJOFEBLEFPOCFDMEMOCCAA.shimozaki@xxxxxxxxxxxxxxx> in Thu, 8 Apr 2004 20:13:41 +0900 ... > >メモリの制約がきつい時をのぞいて、浮動小数点は、(float ではなく) > >double で定義した方がよいです。 > >単に精度の問題だけではなく、例えば、 0.1 という数値を書いたときに > >この値は、double だと解釈されるからです。 > > ありがとうございます。知りませんでした。 > メモリは豊富にあるので、今後はdoubleを使用したいと思います。 ごめんなさい、すみません。 これも、「メモリの制約がきつい時をのぞいて double」というのは、組み込み の場合には、必ずしも言えないかもしれません。 パソコン(以上)の世界だと 精度・速度ともdouble がお勧めと言い切れる のですが、そもそも、浮動小数点演算のハードウエアを持っていない場合、 必ずしも double のほうが良いとは言い切れません。 ちょっと先走りでした。 一応、double という選択肢もある……くらいで良いかと思います。 それにしても、 > float a; > a = 0.1; > if (a == 0.1) .... > とした場合、この比較は普通は失敗します。 が成功したのはちょっと不思議です。 「浮動小数点の定数は、float とみなす」 なんてことになっているのかとも思いますが。 上の比較が通るようであれば、float でもOKです。 パソコン用の代表的な処理系だと失敗するのですけど。 失礼しました。 -- _/ -- Last 3054 hours until ATHENS 2004 Olympic Games ----------------- _/ FUJIHARA Keiichi _/ E-Mail : keiichi@xxxxxxxxxxxxx <or> nagi@xxxxxxxxxxxxxxx _/ URL : http://www.keiichi.fujihara.name/ ----------------------------------------------+----- Luna Phase 18.13 -- PGP FingerPrint = 7CC3 4F95 8CC7 87D3 7178 C348 CD65 7F08 D68F 69F6