个人记法:
低低小-最低有效位位于最低偏移地址的是小端
高低大-最高有效位位于最低偏移地址的是大端
程序检测:
#include <iostream>
int main(int argc, char **argv) {
int a = 1;
char *b = (char*)&a;
if ((int)*b == 1) {
std::cout << "little endian" << std::endl;
} else {
std::cout << "big endian" << std::endl;
}
return 0;
}
发散想法:
那么字节序会影响到我们哪些方面呢?为什么我编程的时候都没怎么关心过这方面的东西呢?
首先在跨平台网络传输的时候,如果两个系统字节序不同,那么不就有会有影响了吗?
起始在网络传输的时候,一般采用tcp/ip协议,而该协议规定了字节序为大端,无关具体系统
而protobuf则是小端