将std :: int转换为System :: Single

时间:2014-11-18 03:34:20

标签: c++-cli

道歉,如果已经有答案了;但我似乎得到的只是一堆"我想把我的1变成1.0"谷歌搜索中的谷壳。

首先要做的事情。不,我谈论一个简单的Convert :: ToSingle()调用。相反,我需要将数据的表示转换为System :: Single。

换句话说,我想要int myInt = 1065353216;,结果应该是1.000。我知道纯c ++方法类似float myFloat=*(float *)&myInt;;但我需要托管版本。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果您使用的是C ++ / CLI,则可以像在C ++中一样进行:float myFloat=*(float*)&myInt;

在纯粹的管理土地上,有内置的方法来实现双重和Int64(DoubleToInt64BitsInt64BitsToDouble,但不适用于单个& Int32。但是,如果你看一下这些方法的实现(MS Reference Source),你会看到他们&# 39;做与你列出的完全相同的事情,这也是管理的方式。唯一的区别是如果你用C#做,你必须将方法标记为unsafe