gpt4 book ai didi

c# - 如何通过 float 表示形式将 float 转换为 int?

转载 作者:太空狗 更新时间:2023-10-29 19:59:44 25 4
gpt4 key购买 nike

在 C 中,我将执行此操作以将数字的浮点表示形式转换为 DWORD。从地址中获取值并将内容转换为 DWORD。

dwordVal = *(DWORD*)&floatVal;

因此,例如 44.54321 将变为 0x42322C3F

我如何在 C# 中做同样的事情?

最佳答案

您可以使用 BitConverter类:

uint value = BitConverter.ToUInt32(BitConverter.GetBytes(44.54321F), 0);
Console.WriteLine("{0:x}", value); // 42322c3f

您也可以使用 unsafe context 更直接地执行此操作:

float floatVal = 44.54321F;
uint value;
unsafe {
value = *((uint*)(&floatVal));
}
Console.WriteLine("{0:x}", value); // 42322c3f

但是,我强烈建议避免这种情况。参见 Should you use pointers (unsafe code) in C#?

关于c# - 如何通过 float 表示形式将 float 转换为 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21801213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com