3
什么是C#中Java的float.floatToRawIntBits方法实现?什么是C#中Java的float.floatToRawIntBits等效方法?
什么是C#中Java的float.floatToRawIntBits方法实现?什么是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;
是的,这就是我想要的。谢谢。 – rodins 2012-01-09 14:45:03