float
を1つで表す必要がある状況がありchar
ます。この「ミニフロート」が表す必要のある範囲は0〜10e-7であるため、スペースを節約するために、数値は+ ve、指数は-veであると常に想定できます。
私が考えた表現は、3ビットの指数と5ビットの仮数(1つの暗黙のビット)で、指数は基数10、つまりx = man * 10^exp
です。
フロートからミニフロートに変換するにはfrexp
、を使用し、いくつかの数学を使用して基数2から基数10に変換する予定です。
これは賢明なアプローチですか?または、これを達成するためのより良い方法はありますか?