[H8-ML(4629)] RE: [H8-ML(4626)] Re: H8/3052で浮動小数点演算がうまくできず困っています。
From: "Shimozaki Kenichi" <shimozaki@xxxxxxxxxxxxxxx>
Date: 2004年04月08日(木)20時13分41秒
下崎です。



>メモリの制約がきつい時をのぞいて、浮動小数点は、(float ではなく)
>double で定義した方がよいです。
>単に精度の問題だけではなく、例えば、 0.1 という数値を書いたときに
>この値は、double だと解釈されるからです。

ありがとうございます。知りませんでした。
メモリは豊富にあるので、今後はdoubleを使用したいと思います。





>  float a;
>  a = 0.1;
>  if (a == 0.1) ....
> とした場合、この比較は普通は失敗します。

floatとdouble、ローカルとグローバルの組み合わせで実験したところ、
正常に判断できましたが、不安定な要素もあるということでしょうから、
やはりdoubleを使用したいと思います。






>自動変数の初期値は「不定」と認識していたのですが、ANSIではゼロなんでし
>ょか。実は真面目にANSIもK&Rも読んでないので、まったくもって自信ナシな
>んですが....。

このリストではfc_dbg1=6824という意味不明な値になりました。
	 unsigned int a;
	fc_dbg1 = a;

このリストではfc_dbg1=0と初期化された値になりました。
	 unsigned int (a);
	fc_dbg1 = a;

ということは、「変数宣言時に変数をカッコでくくると、初期値がゼロになる」みた
いです。


以下余白


スレッド概略
[4619(R)](起点)
 └[4626(U)]
   └[表示中]
     ├[4632(1)]
     └[4634(2)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]