▼ すとーにぃさん
> このへんの動作を書いた記事が下記のURLにありました。
>
http://www.pro.or.jp/~fuji/mybooks/cdiag
/cdiag.4.4.htmlどうも有難うございます。なーるほど、といいたいところですが、私も一応某所でQする前にWebであれこれ調べておりまして、それでもわからなかったので質問に及んだのです。
自助努力するには便利な時代ですからね。それでわかれば話が早いし。で、このページも見ました。というか本自体持ってます。(いい本です)
じぇぷろ>単精度も一度倍精度化してから演算するコンパイラがあるらしいので
がまさにそれで知った情報です。ただ別の本では早くなるようにfloat同士で計算するように設計されているものもある(ものが多いだったか?)と書いてました。
しかし私の問題にしているのは計算速度ではないんですよね。比較演算子もダブルでやってくれちゃうの?私はご丁寧に定数にもf付けてるのに。(ーー;)
という点なんです。さらにいうとwhileの前と中でb=1.0f+a;を二度書きしなくてもいいCの利点を使ってせっかくwhile((b=1.0f+a)>1.0f)にしてるのにこれじゃだめで
while(b>1.0f)でしか思う通りに動作しない(コンパイラもある)という点なんです。演算自体はdoubleでやってもいいけど、比較演算子はfloatでやれよ、みたいな。それくらいCの仕様で固定しとけよ、みたいな。