Is there a signed zero Integer in Java?

2019-02-27 19:16发布

I've learned that floating point number s have a signed zero in java. But I'm afraid Integer has not:

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

vs.

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

How could I store a sign with my zero Integer value?

1条回答
Luminary・发光体
2楼-- · 2019-02-27 20:17

You cannot store a sign with Java integer primitive type.

Negative zero is an artifact of IEEE-754 representation, which stores a sign in a separate bit. Integers, on the other hand, are stored in two's complement representation, which has a unique representation for zero.

查看更多
登录 后发表回答