vb.net – 将整数转换为单个保留位表示
发布时间:2020-12-17 00:13:54 所属栏目:大数据 来源:网络整理
导读:有没有一种快速的方法在VB.NET中采用32位int并转换为32位浮点数,同时保留基础位结构? BitConverter会这样做,但我想直接转换它而不涉及字节数组. 该死的,我怎么可能忘记C风格的联盟呢? Runtime.InteropServices.StructLayout(Runtime.InteropServices.Layou
有没有一种快速的方法在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项目中引用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |