C# 中大小端Endian

大小端可以找下资料很多,都是文字的。我每次遇到大小端问题就会搜资料,总是记不住。我自己用用图片记录一下,以备直观的从内存中看到。

在C#中可以用BitConverter.IsLittleEndian来查询。

几个数字在内存中

我们来观察一下,我的BitConverter.IsLittleEndian 是True。我们来看看几个数值:

int ao = 65534;
byte[] theseBytestt = BitConverter.GetBytes(ao);
Array.Reverse(theseBytestt);

在内存中是这样的。

C# 中大小端Endian_第1张图片

调用了Reverse:高位和地位反转后。
C# 中大小端Endian_第2张图片

这里我们再看看2^16 = 65536,我们看到刚好进位到[2]
C# 中大小端Endian_第3张图片
再看看2^16+3 = 65539,[0]加了3
C# 中大小端Endian_第4张图片
所以如果是小端,那么数组的0位是最小的。

你可能感兴趣的:(C#,c#,开发语言)