Решить целочисленное деление в контекстном предупреждении с плавающей запятой

Как решить целочисленное деление в контекстном предупреждении с плавающей запятой в этой строке кода:

int fps = 60;
double timePerTick = 1000000000 / fps;

person Community    schedule 28.11.2020    source источник


Ответы (1)


При делении двух int вы будете использовать целочисленное деление и только затем повышать результат до двойного, теряя всю точность после запятой. Вы можете использовать точность с плавающей запятой, используя вместо этого литерал double:

double timePerTick = 1000000000.0 / fps;
// Here -----------------------^
person Mureinik    schedule 28.11.2020