Java在C#中的float.floatToRawIntBits等效方法是什么?

本文关键字:方法 是什么 floatToRawIntBits 中的 float Java | 更新日期: 2023-09-27 18:19:45

C#中Java的float.floatToRawIntBits方法实现是什么?

Java在C#中的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;