Я кодирую реализацию Интерполяционного поиска в C.
Вопрос на самом деле довольно прост, мне нужно использовать плавающие операции для линейной интерполяции, чтобы найти правильный индекс, который в итоге будет целочисленным.
В частности, мой индекс датчика:
t = i + floor((((k-low)/(high-low)) * (j-i)));
где i, j, k, t - целые числа без знака, а high, low - double.
Будет ли это эквивалентно:
t = i + (unsigned int)(((k-low)/(high-low)) * (j-i));
Есть ли причина, по которой я бы на самом деле хотел использовать функции math.h floor * вместо простой (int) трансляции типа?