Leif Gram: Mr. Fix

Программисты рассказывают

Задача: чему равно на Перле 15 x 2/3?

Ответ: 505


Почему именно такой ответ? Строка 15 повторяется два раза, результат арифметически делится на три.
Оригинально.

Я недавно попробовал наконец PowerShell, там можно сделать так:

[int](7 / 2)

Ответ: 4

Т.е., они решили округлять результаты арифметических операций математически, а не как обычно для остальных языков программирования.
Интересно, там внутри вся арифметика double, или infinite precision Integer?
PowerShell это фактически лишь тонкая оболочка над .NET. Все арифметические операции они производят в double, а потом уже переводят результат в тип, который на левой стороне. Если ничего не делать, то так и останется double. Правда они по умному выводят на печать: если после плавающей точки ничего нет, то будет 1, а не 1.0.

П.С. Насчёт округления я неточно написал. Они округляют результаты не просто математически, но до чётных значений: 7 / 2 будет 4, и 9 / 2 тоже будет 4.

Edited at 2019-01-12 08:52 pm (UTC)
Это стандартное "финансовое" округление. В Excel оно by default.
Да, я потом уже почитал про это, а то так и жил валенком. Думал что как в С округляют, то так и у всех остальных.
Блин, над теперь идти экзаменационные оценки вручную проверять ....