Это странно, я озадачен. Недавно я заметил в подсказке 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
Как видно, знак сохраняется через определенные операции. Но мой вопрос - почему. Это похоже на радикальный отход от стандартной математики, где нуль по существу не имеет знака. Есть ли какие-то привлекательные математические свойства для этого? Это имеет значение в некоторых областях математики?
FYI: Matlab, в котором октава смоделирована, не имеет отрицательных нулей. Любые попытки использовать их рассматриваются как обычные нули.
EDIT: Matlab имеет отрицательные нули, но они не отображаются в выводе по умолчанию.