下崎です。 >メモリの制約がきつい時をのぞいて、浮動小数点は、(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; ということは、「変数宣言時に変数をカッコでくくると、初期値がゼロになる」みた いです。 以下余白