次の while ループを最適化する方法についてアドバイスをお願いします。
double minor_interval = 0.1;
double major_interval = 1.0;
double start = 0.0;
double finish = 10.0;
printf("Start\r\n");
while (start < finish)
{
printf("Minor interval: %.20f\r\n", start);
double m = fmod(start, major_interval);
printf("m: %.20f\r\n", m);
if (m == 0)
printf("At major interval: %.20f\r\n", start);
start += minor_interval;
}
printf("Finished\r\n");
基本的に、ループ内のカウンタをマイナー インターバルでインクリメントしており、ループのたびにメジャー インターバルにあるかどうかを知りたいと考えています。これをミリ間隔で定規を描いていると想像してください。主要な間隔に到達するたびに、センチメートルを描きたいと思います。浮動小数点演算が不正確な場合、上記のループを変更して必要な機能を実装するにはどうすればよいですか? 公差を使用してモジュラスの結果を比較するさまざまな方法を試しましたが、運がありませんでした。マイナー インターバルとメジャー インターバルは任意の値、つまりマイナー = 0.4、メジャー = 1.6 (1/4 マイルの増分を描画するため) にできることに注意してください。
前もって感謝します。