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?
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.
来源:https://stackoverflow.com/questions/41893756/is-there-a-signed-zero-integer-in-java