Каковы выходные данные собственного Float.floatToRawIntBits (значение с плавающей запятой)? - PullRequest
5 голосов
/ 26 января 2012

В документации JRE говорится, что собственная функция Float.floatToRawIntBits(Float value) ...

Возвращает представление указанного значения с плавающей точкой в соответствии с IEEE 754 разметкой битов с "плавающей точкой" в одном формате, сохранение значений не числа (NaN).

Что такое "single format" битовая разметка? Я никогда не слышал это выражение.

Я запустил пример:

float f = 1;
System.out.println(Float.floatToRawIntBits(f));

Какие выходы 1065353216.

Что на самом деле делает эта функция?

1 Ответ

5 голосов
/ 26 января 2012

Битовая разметка `` одиночного формата '' IEEE 754 с плавающей точкой:

Бит 31 результата представляет знак с плавающей запятой;биты с 30 по 23 представляют (смещенный) показатель степени;биты с 22 по 0 представляют мантиссу.

Возвращаемое целое число является целочисленным представлением этой 32-битной строки.

Википедия подробно описывает, как преобразовать число с плавающей точкой в ​​IEEE 754. http://en.wikipedia.org/wiki/Single-precision_floating-point_format

...