Евгений Музыченко

Previous Entry Share Next Entry
Математика
emuzychenko
Вчера обнаружил, что совершенно не дружу с математикой. :) Лет пять назад мне понадобилась формула линейной интерполяции по двум точкам; лезть в математический справочник и вспоминать, как это делается с помощью линейной функции было лень - вывел быстренько на коленке через подобие треугольников. Немного смущало то, что в формуле было два умножения, но она давала верные результаты, поэтому я на нее забил. Работает она в целочисленной арифметике, и недавно обнаружилось, что при финальном делении промежуточного 64-разрядного числа на 32-разрядный делитель изредка возникает переполнение, чего быть не должно. Перепроверил дважды - вроде все правильно, а переполнение возникает. Тогда вывел снова через подобные треугольники, но чуть по-другому - получилось с одним умножением и гарантией отсутствия переполнения. :) То есть, как и должно было быть с самого начала, но я уже настолько забыл аналитический аппарат, что разбираться в формулах реально некомфортно, проще интуитивно... :)

?

Log in

No account? Create an account