Как я могу превратить число с плавающей запятой в ближайшую дробь, представленную байтовым числителем и знаменателем?

Как я могу написать алгоритм с заданным числом с плавающей запятой и попытками его представления с максимально возможной точностью, используя числитель и знаменатель, оба из которых ограничены диапазоном байта Java?

Причиной этого является то, что устройству I2C требуется числитель и знаменатель, в то время как было бы целесообразно использовать его с плавающей точкой.

Например,3.1415926535... приведет к245/78, скорее, чем314/100 или же22/7.

С точки зрения эффективности, это будет вызываться примерно три раза в начале программы, но после этого вовсе не будет. Так что медленный алгоритм неслишком Плохо.

Ответы на вопрос(6)

Ваш ответ на вопрос