Новичок в C#, пытаясь разработать простой расчет.modulo function
float old x=300
float Distance=300
float pitch=0.8
int sign=1
new x= old x - (sign * (Distance % pitch) * 0.5 f)
Значения сгенерирована программой для новых й является 299.6
(который я не понимаю).
Значение для (Distance % pitch)
: 0.7999955
. При вычислении вручную 300 modulo 0.8
- 0
. Я предполагаю, что функция modulo ведет себя по-разному для значений float, но я не знаю, как это сделать. Или он рассчитан как 300 процентов от 0,8?
Пояснение по этому вопросу будет высоко оценено.
См http://stackoverflow.com/questions/20671518 –
Это типичная проблема с числами с плавающей точкой .. , –