标签:bsp 存储 判断 cas 小端 color code else 内容
大端是高位字节先存储(低地址)
小端是低位字节先存储(低地址)
网络字节序是大端的,也就是高位字节先传输
而int--char的强制转换,是将低地址的数值截断赋给char,利用这个准则可以判断系统是大端序还是小端序
#include <iostream> using namespace std; int main() { int a = 0x1234; char c = static_cast<char>(a); if (c == 0x12) cout << "big endian" << endl; else if(c == 0x34) cout << "little endian" << endl; }
利用union同理也可以做出判断。
#include <iostream> using namespace std; union endian { int a; char ch; }; int main() { endian value; value.a = 0x1234; if (value.ch == 0x12) cout << "big endian"<<endl; else if (value.ch == 0x34) cout << "little endian"<<endl; }
标签:bsp 存储 判断 cas 小端 color code else 内容
原文地址:http://www.cnblogs.com/zhoudayang/p/5985563.html