文档介绍:如何判断主机字节序————————————————————————————————作者:————————————————————————————————日期: 如何确定自己主机的字节序是大端字节序还是小端字节序?介绍:何为大端字节序和小端字节序?是在内存中存储字节的两种方式:大端字节序:高位值在内存中放低位地址;采用这种机制的处理器有IBM3700系列、PDP-10、Mortolora微处理器系列和绝大多数的RISC处理器。Motorola的PowerPC系列CPU采用bigendian方式存储数据。小端字节序:低位值在内存中放低位地址。按照最低位字节(包含LSB的字节)至最高位字节(包含MSB的字节)的顺序,存放在连续的地址中。采用这种机制的处理器有PDP-11、VAX、Intel系列微处理器和一些网络通信设备。Intel的x86系列用littleendian方式存储数据。例外:目前在各种体系的计算机中,通常采用big-endian和little-endian两种字节存储机制描述在多字节数中各个字节的存储顺序。除了big-endian和little-endian之外的多字节存储顺序就是middle-endian。这种存储顺序偶尔会在一些小型机体系中的十进制数的压缩格式中出现。方法一:一个主机是大端还是小端要看cpu类型以及运行在上面的操作系统。同一款cpu在不同的操作系统使用的大小端情况是不同的。当然我们通常使用的x86+windows是小端。例子:1Solaris[tm]OE(32-bit)Big2Solaris[tm]OE(64-bit)Big3HP-UX(64-bit)Big4HP-UXIA(64-bit)Big5HPTru64UNIXLittle6AIX-BasedSystems(64-bit)Big7MicrosoftWindowsIA(32-bit)Little8MicrosoftWindowsIA(64-bit)Little9IBMzSeriesBasedLinuxBig10LinuxIA(32-bit)Little11LinuxIA(64-bit)Little12MicrosoftWindows64-bitforAMDLittle13Linux64-bitforAMDLittle15HPOpenVMSLittle16AppleMacOSBig17SolarisOperatingSystem(x86)Little18IBMPowerBasedLinuxBig方法二:通过程序查询可以了解自己的主机的字节序。程序一:#include<iostream>usingnamespacestd;union{ intnumber; chars;}test;booltestBigEndin(){ =0x01000002; return(==0x01);}voidmain(){ if(testBigEndin()) cout<<"big"<<endl; else cout<<"small"<<endl;}在vc++,编译运行可以得出运行结果,即:得出本机的字节序类型。///////////////////////////////////////////////////////////////////////