Я хотел бы знать, как лучше всего преобразовать число с плавающей точкой в двоичную строку и наоборот, из двоичной строки в число с плавающей точкой.
Я работаю с генетическими алгоритмами и мне нужно сохранить двоичное представлениечисла с плавающей точкой в диапазоне [0-1], поэтому дополнительно мне нужно знать количество бит, которые Ruby использует для сохранения числа с плавающей точкой в памяти.
Я пытаюсь решить эту проблему с помощью String# Распаковываю метод, но получаю странный результат:
binary_string_number = "0" * 32
=> "00000000000000000000000000000000"
binary_string_number.unpack("F")
=> [6.409690556097303e-10]
Результат должен быть 0,0, верно? Я не понимаю этого поведения.
Спасибо!