float32
既存のおよびfloat64
フォーマットを使用して非負の浮動小数点値を格納する効率的な方法はありますか?
負/正を許可するデフォルトのfloat32
動作を想像してください。
val = bytes.readFloat32();
負の値が必要ない場合、より大きな正の値を許可することは可能ですか?
val = bytes.readFloat32() + 0xFFFFFFFF;
編集:基本的に、正の値のみを格納していることがわかった場合、浮動小数点形式を少し変更して、同じ量のビットの範囲または精度を大きくすることができます。
例えば。float32
形式は、符号が1 ビット、指数が8 ビット、小数が23 ビットとして定義されます。
符号ビットが必要ない場合、指数に8 ビット、分数に24 ビットを使用して、同じ 32 ビットの精度を高めることはできますか?