#include #define F_CPU 16000000UL #define CLK_DIV 256. #define TIME_PER_CYCLE (CLK_DIV/F_CPU) #define MS(x) ((1/(1000.*TIME_PER_CYCLE))*x) #define US(x) ((1/(1000000.*TIME_PER_CYCLE))*x) int main(void) { printf("out = %d %f\n", MS(10), MS(10)); } i get out = 0 0.000000 if i use int main(void) { printf("out = %f %f\n", MS(10), MS(10)); } i get out = 625.000000 625.000000 wtf?