上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

C# byte转int:大小端读取

guduadmin554月前

参考:byte[]数组和int之间的转换

文章目录

    • Byte转为INT
      • 小端存储方式转int
      • 大端存储方式转int

        大端模式和小端模式是计算机存储多字节数据时的两种方式。内存地址从小往大增长。

        大端模式:最高有效(最高位)的字节存放在最小地址上,其他字节依次向后排列。读取时,最先读到的是最重要的字节。

        小端模式:最不重要的字节存放在最小地址上,其他字节依次向前排列。

        Byte转为INT

        小端存储方式转int

        // 示例字节数组,表示小端存储的整数
        byte[] bytes = new byte[] { 0x0E, 0x00, 0x00, 0x00 }; 
        int value =BitConverter.ToInt32(bytes,0);	// 方法1:系统函数(字节数组,起始位置)
        Console.WriteLine("1-小端存储值为{0}",value);
        // 或者方法2
        value = 0;
        for (int i = 0; i < 4; i++)
        {
            value |= (bytes[i] & 0xFF) << (i * 8);
        }
        Console.WriteLine("2-小端存储的值为{0}",value);
        

        输出:

        1-小端存储值为14
        2-小端存储的值为14
        

        系统函数参考这里。

        大端存储方式转int

        // 示例字节数组,表示小端存储的整数
        byte[] bytes = new byte[] { 0x0E, 0x00, 0x00, 0x00 }; 
        // 方法一
        Array.Reverse(bytes); // 反转字节数组顺序
        int value =BitConverter.ToInt32(bytes,0);
        Console.WriteLine("3-大端存储值为{0}",value);
        bytes = new byte[] { 0x0E, 0x00, 0x00, 0x00 }; 
        value = 0;
        // 或者方法二
        for (int i = 0; i < 4; i++)
        {
            // 将字节值合并到结果整数中,注意字节顺序的反转
            value |= (bytes[i] & 0xFF) << ((3 - i) * 8); 
        }
        Console.WriteLine("4-大端存储的值为{0}",value);
        

        输出:

        3-大端存储值为234881024
        4-大端存储的值为234881024
        

网友评论

搜索
最新文章
热门文章
热门标签
 
 梦见涨洪水  生辰八字看一生运势  梦见理发是什么意思有什么预兆