小端字节序:将低序字节存储在内存低地址
大端字节序:将高序字节存储在内存低地址
16进制可以直观反映内存存储数据的情况
小端字节序存储示例:
int a = 123456789 = 0x075BCD15;
二进制为:00000111 01011011 11001101 00010101
内存存储方式: 10101000 10110011 11011010 11100000
0-->0000
7-->0111
5-->0101
B-->1011
C-->1100
D-->1101
1-->0001
5-->0101
16进制数中的每一位对应4个比特位
//输出主机字节序程序
#include <QDebug>
int main(int argc, char *argv[])
{union{short s;char c[sizeof (short)];}un;un.s = 0x0102;if(sizeof (short) == 2){if(un.c[0] == 1 && un.c[2] == 2)qDebug() << "big-endian\n";else if(un.c[0] == 2 && un.c[1] == 1)qDebug() << "little-endian\n";elseqDebug() << ("unknown\n");}elseqDebug()<<"sizeof(short) = %d\n"<< sizeof (short);return 0;
}