2017-01-27 16 views
2

Я узнал, что число с плавающей запятой имеет знак со знаком в java. Но я боюсь, что Integer не:Есть ли ноль Integer в Java?

new Integer("0").equals(new Integer("-0")) // true 

против

new Double("0").equals(new Double("-0")) // false 

Как я мог хранить знак с моим нулевым значением Integer?

ответ

3

Вы не можете сохранить знак с целым примитивным типом Java.

Отрицательный ноль - это артефакт IEEE-754 Представление, в котором хранится знак в отдельном бите. С другой стороны, целые числа хранятся в представлении дополнений двух, которое имеет уникальное представление для нуля.

+0

Благодарим вас за освещение :-) ради полноты. Я оставлю здесь еще одну ссылку: https://en.wikipedia.org/wiki/Two's_complement – Sebastian

Смежные вопросы