Это странно, я озадачен. Недавно я заметил, что в приглашении Gnu Octave можно вводить отрицательные нули, например:
octave:2> abomination = -0
И это тоже помнит:
octave:3> abomination
abomination = -0
В интересах здравомыслия отрицательный нуль действительно равен обычному нулю. Но я также заметил, что знак имеет некоторые другие эффекты. Как это:
octave:6> 4 * 0
ans = 0
octave:7> 4 * -0
ans = -0
octave:8> 4 / 0
warning: division by zero
ans = Inf
octave:9> 4 / -0
warning: division by zero
ans = -Inf
Как видно, знак сохраняется при определенных операциях. Но мой вопрос, почему. Это похоже на радикальный отход от стандартной математики, где ноль практически не имеет знака. Есть ли какие-то привлекательные математические свойства для этого? Имеет ли это значение в некоторых областях математики?
К вашему сведению: Matlab, по образцу которого смоделирована октава, не имеет отрицательных нулей. Любые попытки их использования рассматриваются как обычные нули.
РЕДАКТИРОВАТЬ: Matlab имеет отрицательные нули, но они не отображаются в выводе по умолчанию.