如何将32位浮点值转换为两个16位整数

问题描述 投票:0回答:2

我有一个问题,如何将32位浮点值转换为两个16位整数。

实际上我将两个16位整数转换为32位浮点数。

来自two-16-bit-ints-to-one-32-bit-float-value的参考

但我需要一个32位浮点数到两个16位整数。任何一个帮助我。

提前致谢

java
2个回答
2
投票

这样就可以了

float f = 107.5f; // the float value
int v = Float.floatToIntBits(f);
int i1 = (v >> 16) & 0xffff;
int i2 = v & 0xffff;

给两个16位数量i1i2


1
投票

也许有些东西:

int value = Float.floatToRawIntBits(Float.valueOf("1074563458561.34").floatValue());
int value1 = value >>> 16;
int value2 = value << 16 >>> 16;
System.out.println(String.format("%d %d", value1, value2));

21370 12537

© www.soinside.com 2019 - 2024. All rights reserved.