我不太确定正确的转换,尤其是从 unsigned int 和 #defines (无论是什么类型)到加倍。
在这个例子中
#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);
这是正确的,但我认为演员太多了。我怎样才能用最少的演员找出正确的方法?