Я использую функцию pow
в C и сохраняю возвращаемое значение в целочисленном виде.см. фрагмент кода ниже:
for (i = 0; i < 5; i++){
val = (int)pow(5, i);
printf("%d, ", val);
}
здесь i
, а val
- целые числа, и результат равен 1, 5, 24, 124, 624
.Я полагаю, что это потому, что число с плавающей точкой 25 рассматривается как 24.99999 ... который округляется до 24 при присваивании целому числу.
Как я могу пропустить это, если мне все еще нужно сохранить возвращаемое значение вint?