仅递增浮点指数

Dav*_*ard 2 java floating-point bit-manipulation java-7

我想在Java中增加浮点数的指数(不触及尾数).

我理解如何检索指数Math.getExponent()并增加它,但我不确定如何使用位操作来替换浮点数的原始指数.

它不像Java提供的那样getExponent()或类似的.

请注意,这必须在负指数范围和正指数范围内正确递增.

Ted*_*opp 6

由于指数代表2的幂,只需将数乘以2.这应该增加指数(假设数在乘法之前和之后都被归一化).(规范化通常在Java中自动发生,所以除非你做一些有趣的事情,否则这不应该是一个问题).

如果你真的想给位直接操作,您可以使用Float.floatToIntBits,并Float.intBitsToFloat来回转换之间floatint的观点float.