Поскольку люди кажутся в тупике относительно практической необходимости, вот мой пример использования ...
Мне нужно решение для сортировки столбцов таблицы по их индексу. Нажмите <th>
и вызовите сортировщик с помощью [порядкового] для возрастания и - [порядкового] для убывания. В первом столбце будет указано -0
по убыванию или 0
по возрастанию.
Так что мне нужно провести различие между +0
и -0
и все закончилось здесь. Решение, которое сработало для меня, содержится в комментарии @ Šime Vidas, но несколько скрыто.
// This comparison works for all negatives including -0
if ( 1 / x > 0 ) { }
1 / -0 > 0 // false
1 / 0 > 0 // true
1 / -99 > 0 // false
1 / 99 > 0 // true
// WRONG: this naive comparison might give unexpected results
if ( x > 0 ) { }
-0 > 0 // true
// Gotcha