Warning: Unexpected character in input: ' in D:\php186\www.php186.com\index.php on line 38
 big endian和little Endian(small endian)模式区别-WEB开发网
您的位置:网站主页> Linux教程 > big endian和little Endian(small endian)模式区别

big endian和little Endian(small endian)模式区别

时间:2015-06-09 10:39:47   编辑:一切随缘   文章来源:php教程网 已阅读:3207 次

        big endian和little Endian(small endian)模式区别

        BIG Endian 和 Little Endian(small endian)模式的区别 谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存储数据,而x86系列则采用little endian方式存储数据。那么究竟什么是big endian,什么又是little endian呢?其实big endian是指低地址存放最高有效字节(MSB),而little endian则是低地址存放最低有效字节(LSB)


        #include <stdio.h>

        //判断程序运行的平台是little-endian还是big-endian
        bool IsLittleEndian()
        {
         int i = 1;
         char* p = (char*)&i;
         return *p;
        }
        int main()
        {
         if(IsLittleEndian())
          printf("LittleEndian\n");
         else
          printf("BigEndian\n");
         return 0;
        }

        big-endian The most significant byte is on the left end of a word.
        little-endian The most significant byte is on the right end of a word.

        example:

        big:   [1000]4F,[1001]52 表示4f52
        little: [1000]52,[1001]4f  表示4f52

        3. Converting Small endian to Big Endian using C#(long value)

        Could someone tell me how to write an equivalent code in C# for the following C++ code which would give me a big endian from a small endian? Thanking you in Advance..

        Function call - ProcessEndian((char*) &longValue,
             sizeof(long));

        void CUtility::ProcessEndian(char * pHostData, int nHostDataLength)
        {
         char buffer[10];
         int i = 0;
         char* pChar = NULL;

         for (i=0; i<nHostDataLength; i++)
         {
          pChar = pHostData+i;
          buffer[ i ] = *(pChar);
         }

         for (i=0; i<nHostDataLength; i++)
         {
          *pChar = buffer[ i ];
          pChar--;
         }
        }

本文地址:http://www.php186.com/content/article/linux/25771.html(转载请保留)

相关关键词搜索:big,endian,little,Endian,small,endian

发表评论
      
* 以上用户言论只代表其个人观点,不代表www.php186.com网站的观点或立场
推荐文档更多

WEB开发网 | PHP教程 | Mysql教程 | Apache教程 | 最新文章 | PHP面试题| 网站地图 | Google地图 | Baidu地图 | 在线WEB论坛| 中纪委反腐最新消息

WEB技术QQ交流群:151888886 站长Q号:547218888
版权所有者:WEB开发网 地址:云南省文山州砚山县盘龙乡 滇ICP备12002707号-1
特别声明:本站内容仅供参考,不作为设计及确切依据!想了解更多,可立即进入Bbs提问