Прежде всего нам нужно узнать, как число представлено как точка с плавающей точкой и двойное в памяти.
Общее число имеет вид: 1.M * 2^e.
(где М называются мантиссой и й показатель степень в избытке-127)
В плавающей точке
Старшего бит (старший значащий бит) используются в качестве знакового бита и тому битное число от 23 до 31 используется для экспоненциального значения в виде избытка-127, а бит-бит от 0 до 30 используется для хранения мантиссы.
В двойной
The MSB (старший значащий бит) используется как знаковый бит, и количество битов от 52 до 63 используется для экспоненциального значения в виде избыточного-127 и номер бита от 0 to используется для хранения мантиссы.
так что теперь мы находимся в состоянии понять представление NaN, Infinity в поплавке или двойном.
NaN (Не номер)
В представлении NaN все биты Экспонент являются 1 и биты мантиссы может быть что угодно, и это не имеет значения, что он находится в обращении или десятичном.
Бесконечность
В представлении всех битов Бесконечности экспоненту являются 1 и биты мантиссы равны 0, и это не имеет значения, что он находится в обращении или десятичном. положительная бесконечность это представляют как раз такой же, как и выше, но знаковый бит равен 0, а отрицательная бесконечность представлена также просто же, но знаковый бит здесь 1.
подмигнули, написанные в постоянном описании '0xfff0000000000000L = -Infinity',' 0x7ff0000000000000L = + Infinity' и '0x7ff8000000000000L = NaN'. (Это значения для double) – SomeJavaGuy
задокументировано в javadoc – wero
Отрицательный ноль фактически также существует как отдельная вещь. – harold