SimulatorのiPhone SDKで整数を浮動小数点数と混合すると、単純な計算でエラーが発生することに気付きました。 2つの例:iPhoneのCocoa混合モードの数学の基本的なエラー
float testVal1 = 10 + 5/10;
//evaluates to 10 instead of 10.5 unless I use explicit 10.0f..
// Problem Code mixed float int
NSUInteger jvalue = 2312345;
NSInteger testVal2 = (jvalue - 2512345); // evaluates correctly
float testVal3 = (jvalue - 2512345); // fails with some huge bogus value
混合モード式では、浮動小数点値に変換されると考えました。浮動小数点数を使用している間は何もないと思われる
ここで何が問題になりますか?
10.0fの代わりに10.0が機能するはずです。 – sigjuice