Wie kann ich eine Gleitkommazahl in den nächsten Bruch umwandeln, der durch einen Byte-Zähler und einen Nenner dargestellt wird?

Wie kann ich einen Algorithmus schreiben, der eine Gleitkommazahl angibt und versucht, diese möglichst genau mit einem Zähler und einem Nenner darzustellen, die beide auf den Bereich eines Java-Bytes beschränkt sind?

Der Grund dafür ist, dass ein I2C-Gerät einen Zähler und einen Nenner haben möchte, während es sinnvoll wäre, ihm einen Gleitkommawert zuzuweisen.

Zum Beispiel,3.1415926535... würde ergeben245/78, eher, als314/100 oder22/7.

Aus Effizienzgründen würde dies zu Beginn des Programms etwa dreimal aufgerufen, danach jedoch überhaupt nicht. Ein langsamer Algorithmus ist es also nichtauch Schlecht.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage