0

浮動小数点数のモジュロを見つける必要があります。

そのために、私は使用しています

NSLog(@"value >> %f",fmodf(2.0f, 0.1f));

この出力は 0.0f である必要があります

しかし、出力値>> 0.1を取得しています

どのように?

4

1 に答える 1

4

コンパイラは、ソース テキスト0.1fを最も近い表現可能な値に変換します。.1 に最も近い IEEE-754 32 ビット浮動小数点値 (iOS が使用) は、0.100000001490116119384765625 です。

fmodf引数 2 と 0.100000001490116119384765625 で評価します。2 から後者の値の 19 倍を引いた余りは 0.099999971687793731689453125 なので、これが戻り値です。表示のために数桁に丸めると、結果は「0.1」になります。

于 2013-03-16T11:19:01.260 に答える