vb.net – 将整数转换为单个保留位表示

前端之家收集整理的这篇文章主要介绍了vb.net – 将整数转换为单个保留位表示前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有一种快速方法在VB.NET中采用32位int并转换为32位浮点数,同时保留基础位结构? BitConverter会这样做,但我想直接转换它而不涉及字节数组.
该死的,我怎么可能忘记C风格的联盟呢?
<Runtime.InteropServices.StructLayout(Runtime.InteropServices.LayoutKind.Explicit)> _
Public Structure IntFloatUnion
    <Runtime.InteropServices.FieldOffset(0)> Public i As Integer
    <Runtime.InteropServices.FieldOffset(0)> Public f As Single
End Structure


Sub Main()
    Dim u As IntFloatUnion

    u.i = 42
    Console.WriteLine(u.f)

    Console.ReadLine()
End Sub

好吧,如何在C#中编写一个类似于here所示的辅助函数

public static class FancyConverter
{
    public static unsafe float FloatFromBytes(int i)
    {
        return *((float*)(void*)(&i));
    }
}

这可以编译为单独的dll并从VB项目中引用.

猜你在找的VB相关文章