C# 中大端序与小端序

        static void Main(string[] args)
        {
            uint value = 0x12345678;
            Console.WriteLine("原始字节序:0x12345678");
            byte[] bigLittleEndian = BitConverter.GetBytes(value);   //得到小端字节序数组
            //低地址存高位为大端序
            if (bigLittleEndian[0] == 0x12)
            {
                Console.WriteLine("C#在Windows中是大端序存储");
            }
            //低地址存低位为小端序
            else if (bigLittleEndian[0] == 0x78)
            {
                Console.WriteLine("C#在Windows中小端序存储");
            }

            Console.WriteLine("小端字节序:"+BitConverter.ToString(bigLittleEndian)+ "低地址存低字节");
            Array.Reverse(bigLittleEndian);   //反小端序数组转成大端。
            Console.WriteLine("大端字节序:" + BitConverter.ToString(bigLittleEndian)+ "低地址存高字节");
        }

运行结果

而modbus中的Data的是大端序,即低地址存高字节符合网络标准字节序。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://www.cnblogs.com/JerryMouseLi/p/13977500.html

版权声明:本文为JerryMouseLi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/JerryMouseLi/p/13997445.html