小端字节序:将低字节存在高地址
大端字节序:将高字节存在高地址

Windows默认时小端字节序,可以看一下VS debug时的内存截图。

如何判断机器的字节序
#include <iostream>
using namespace std;
bool checkLitteEndian()
{
int a = 0x01;
unsigned char * pBuff = (unsigned char *)&a;
return pBuff[0] == 0x01;
}
int main(int argc, char* argv[])
{
if (checkLitteEndian())
{
cout << "this is little endian" << endl;
}
else
{
cout << "this is big endian" << endl;
}
return 0;
}
windows 运行结果
网络字节序:
在网络传输时,采用的时大端字节序,在进行网络传输时,要对int等类型进行字节序转换,主要函数如下:
主机字节序转换成网络字节序:htons htonl
网络字节序转换成主机字节序:ntohs ntohl
本文介绍了小端和大端字节序的概念及区别,并提供了一段C++代码来判断当前机器的字节序类型。此外还讲解了网络字节序及其与主机字节序之间的转换方法。
1307

被折叠的 条评论
为什么被折叠?



