gpt4 book ai didi

C# BinaryWriter - 和字节顺序

转载 作者:可可西里 更新时间:2023-11-01 08:37:01 25 4
gpt4 key购买 nike

我在我的代码中使用 BinaryWriter,这是我的代码:

static void Main(string[] args)
{
FileInfo file = new FileInfo(@"F:\testfile");
if (file.Exists) file.Delete();
using (BinaryWriter bw = new BinaryWriter(file.Create()))
{
ushort a = 1024;
ushort b = 2048;
bw.Write(a);
bw.Write(b);
bw.Write(a);
bw.Write(b);
}
Console.ReadLine();
}

但是输出文件的十六进制是:

enter image description here

enter image description here

那不是 0x0004 = 4 吗?为什么?

最佳答案

虽然 1024 是 0x0400。在将其存储在文件或内存中时,问题来了,我们应该使用小端还是大端表示法?

BinaryWriter 的情况下,它是小端。这意味着 LSB 先行 - 然后是 MSB。因此,它存储为:

LSB | MSB
00 04

您可以阅读有关字节顺序的更多信息。

关于C# BinaryWriter - 和字节顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35909877/

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