一、最简单的做法:

参考(深入理解计算机系统中文版第二版,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 }