一、最简单的做法:
参考(深入理解计算机系统中文版第二版,P28,show_bytes)
转化成usigned char*的byte_pointer;
然后遍历输出每个字节的值,即可判断。
输入可以是任意一个数。
类似于:http://blog.csdn.net/yuucyf/article/details/7193148
二、利用联合
由于联合是共享地址的,所以可以采用如下方式:
1 #include <iostream> 2 using namespace std; 3 4 union 5 { 6 int number; 7 char s; 8 }test; 9 10 bool testBigEndin() 11 { 12 test.number=0x01000002; 13 return (test.s==0x01); 14 } 15 16 void main() 17 { 18 if (testBigEndin()) 19 cout<<"big"<<endl; 20 else 21 cout<<"small"<<endl; 22 }