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

时间:2018-03-03 08:25:22

标签: java

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

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

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

的引用

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

提前致谢

2 个答案:

答案 0 :(得分: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 :(得分: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