0

RubyやPythonでは、 (またはそのような)2.0として出力される場合がありました。1.99999999999浮動小数点の不正確さであると言われています。

Objective-Cでは、これまでのところ発生していません... Objective-Cは浮動小数点エラーをはるかにうまく処理しますか?

その理由は、そのような電話があった場合、次のようになります。

CGContextRef context = CGBitmapContextCreate(NULL, 
                           size.width * scaleFactor, size.height * scaleFactor, 
                           8, size.width * scaleFactor * 4, colorSpace, 
                           kCGImageAlphaPremultipliedFirst);

およびがfloatまたはscaleFactordouble(通常はまたはの値を持つ)である場合、整数に変換した後に発生する浮動小数点エラーがある場合は、問題になる可能性があります。それがbitmapContextのサイズである場合、1ピクセル幅が狭くても大した問題ではないため、問題は少なくなりますが、に提供されるデータバッファーのサイズである場合、に変換された場合のサイズは、悪いメモリアクセス(セグメンテーション違反またはデータ汚染)を引き起こす可能性があるため、問題になる可能性があります。1.02.01536.01535malloc123456.0123455

4

0 に答える 0