Есть ли целое число со знаком в Java?
Я узнал, что число с плавающей точкой s имеет подписанный ноль в Java. Но я боюсь Integer
не имеет:
new Integer("0").equals(new Integer("-0")) // true
против
new Double("0").equals(new Double("-0")) // false
Как я могу хранить знак с моим нулем Integer
значение?
1 ответ
Решение
Вы не можете хранить знак с целочисленным примитивным типом Java.
Отрицательный ноль - это артефакт представления IEEE-754, в котором знак хранится в отдельном бите. Целые числа, с другой стороны, хранятся в двоичном представлении дополнения, которое имеет уникальное представление для нуля.