Java在C#中的float.floatToRawIntBits等效方法是什么?
本文关键字:方法 是什么 floatToRawIntBits 中的 float Java | 更新日期: 2023-09-27 18:19:45
C#中Java的float.floatToRawIntBits方法实现是什么?
如果我
正确理解Java版本,它应该是:
float value = 123.23F;
byte[] bytes = BitConverter.GetBytes(value);
int result = BitConverter.ToInt32(bytes, 0);
这会将表示浮点数的字节放入整数中。
或者,一种更复杂(但可能更快(的方法是创建一个结构:
[StructLayout(LayoutKind.Explicit)]
public struct FloatToIntConverter
{
[FieldOffset(0)]
public int IntValue;
[FieldOffset(0)]
public float FloatValue;
}
FloatToIntConverter converter = new FloatToIntConverter();
converter.FloatValue = value;
int result2 = converter.IntValue;