我有一个问题 如何将32位浮点值转换为两个16位整数 。
实际上我将两个16位整数转换为32位浮点数。
来自two-16-bit-ints-to-one-32-bit-float-value
的引用但我需要一个32位浮点数到两个16位整数。任何一个帮助我。
提前致谢
答案 0 :(得分:2)
这可以解决问题
float f = 107.5f; // the float value
int v = Float.floatToIntBits(f);
int i1 = (v >> 16) & 0xffff;
int i2 = v & 0xffff;
提供两个16位数量i1
和i2
。
答案 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