Что делает Float.floatToRawIntBits (); вернуться в Яву? - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь заставить Java вернуть двоичное представление значения с плавающей запятой. Допустим, «0,125».

Насколько я понимаю, 0,125 в двоичном 32 равно: 00111110 00000000 00000000 00000000

Я также ожидаю, что Java вернётся при выполнении следующего кода:

int bits = Float.floatToIntBits(0.125f);
System.out.println(bits);

Однако этот код возвращает это значение: 1040187392

Мои два вопроса:

  • Как получить Java для возврата запрошенного двоичного представления?

  • Что означает число, которое он вернул?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Этот метод возвращает представление указанного значения с плавающей точкой, а не двоичного значения.

0 голосов
/ 01 ноября 2018

Вам нужно еще одно преобразование:

int bits = Float.floatToIntBits(0.125f);
System.out.println(Integer.toBinaryString(bits));
...