Страницы

Поиск по вопросам

вторник, 23 апреля 2019 г.

Double to Binary

Подскажите пожалуйста методы для перевода чисел в двоичный вид. Для чисел типа Integer есть статический метод toBinaryString(int I). А теперь очень нужен метод для перевода чисел типа Double, однако похожего метода в Double я не нашел.


Ответ

Ссылаясь на ответ на enSO
Long.toBinaryString(Double.doubleToRawLongBits(d)) должно прекрасно работать.
System.out.println("0: 0b" + Long.toBinaryString(Double.doubleToRawLongBits(0D))); System.out.println("1: 0b" + Long.toBinaryString(Double.doubleToRawLongBits(1D))); System.out.println("2: 0b" + Long.toBinaryString(Double.doubleToRawLongBits(2D))); System.out.println("2^900: 0b" + Long.toBinaryString(Double.doubleToRawLongBits(Math.pow(2, 900)))); System.out.println("Double.MAX_VALUE: 0b" + Long.toBinaryString(Double.doubleToRawLongBits(Double.MAX_VALUE)));
/* выведет: 0: 0b0 1: 0b11111111110000000000000000000000000000000000000000000000000000 2: 0b100000000000000000000000000000000000000000000000000000000000000 2^900: 0b111100000110000000000000000000000000000000000000000000000000000 Double.MAX_VALUE: 0b111111111101111111111111111111111111111111111111111111111111111 */

Комментариев нет:

Отправить комментарий