ここでは、特に unsigned int と #defines (型に関係なく) から double への正しいキャストについてよくわかりません。
この例では
#define SPEEDSENSOR_EDGES_NUM 10
int speed_counter_left;
double result = speed_counter_left / SPEEDSENSOR_EDGES_NUM;
speed_counter_left が < 10 の場合、結果は常に 0 です。
だから私はいくつかのキャストを入れました:
double result = (double) ((double) speed_counter_left / (double) SPEEDSENSOR_EDGES_NUM);
その通りですが、キャストが多すぎると思います。最小のキャストで正しい方法を見つけるにはどうすればよいですか?