Татарин>> Ну, это слишком просто, Вы лучше назовите разницу между 3.14%5 и 13.14%5
Zenitchik> Очевидно, алгоритм взятия остатка оптимизирован: если делимое меньше делителя, оно возвращается как есть.
Это меньшая часть ответа: в случае 3.14%5 ответ-то верный.
Да, я понимаю, что IEEE-754, а Александр Македонский - великий человек, но табуретки-то зачем ломать?
И вот тут тот ещё вопросец, а откуда, собссно, взялся IEEE-754 в скриптовом(!!!) языке, который весь из себя кричит, что он скриптовый и числа в строки и обратно переводит неявным образом в зависимости от операндов? Децимал-то с бесконечной точностью, как и полагается нормальному скрипту, чем не угодил?
Предполагалось джиэс для
быстрых научных расчётов использовать, скорость была критична?
Я понимаю логику, я не понимаю,
нафига нужна такая логика.
И никто током не понимает. Потому что оная спека продукт настоящего аджайла. Который не про спринты и ритуалы, а реально "хренак-хренак и в продакшн!".
Zenitchik> Вообще, брать остаток от нецелых чисел - это плохая идея.
Почему же?
Да, в нормальных языках с-семейства "%" - наследник того Сшного или даже ещё Bшного "%", который просто отдаёт второй результат машинного div. Но с чего бы ожидать невозможности или неверности оператора над вещественными числами от джиэса только потому, что в других языках этот оператор похож, но не тот?
Спеки же нужно читать? или нет?
Во-первых, со всеми поправками на скриптовый язык и требуемую всеядность и "безошибочность" рантайма, всё равно плохая идея позволять это делать, да.
Во-вторых, если мы из каких-то своих соображений всё-таки определили такую операцию над вещественными числами, почему её не реализовать нормально? Зачем обязательно через жопу-то?