在C#中将Big Endian转换为Little Endian

时间:2018-07-31 10:46:05

标签: c# endianness

首先让我说,我已经看过Stackoverflow上的一些帖子。我的问题是我是一个初学者级程序员,很难在我的项目中配置那里的解决方案。

我目前正在努力将一个“大端”转换为“小端”。

当前具有浮点数:

(4.61854E-41)

但是我想以某种方式将其转换为如下形式:

(-1.0)

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

看看BitConverter

首先,您检查系统是否为低字节序,然后根据需要反转字节。

float num = 1.2f;

if (!BitConverter.IsLittleEndian)
{
    byte[] bytes = BitConverter.GetBytes(num);
    Array.Reverse(bytes, 0, bytes.Length);

    num = BitConverter.ToSingle(bytes, 0);
}

Console.WriteLine(num);