C++判断大端小端

C/C++大端小端判断

https://www.cnblogs.com/zjutzz/p/7231183.html

一字节为8位、16进制为4位、一字节可以表示2个16进制数。char为1字节、int为4字节。

大端正着存、小端倒着存。

说的是变量的高字节、低字节在内存地址中的排放顺序。

变量的高字节放到内存的低地址中(变量的低字节放到内存的高地址中)==>大端
变量的高字节放到内存的高地址中(变量的低字节放到内存的低地址中)==>小端

例如,对于int类型变量x=0x30313233,在x86下,考虑到在内存中是按照字节为单位进行数据排布,那么会把0x30,0x31,0x32,0x33这4个值按照某种顺序(大端或者小端)进行存储:从0x30到0x33依次为变量的高字节到低字节,如果是大端字节序存储,则从低内存地址到高内存地址,依次存放:0x30, 0x31, 0x32, 0x33;如果是小端字节序存储,则从低内存地址到高内存地址,依次存放:0x33, 0x32, 0x31, 0x30(用这几个蛋疼的16进制数字,是为了后续强转为char类型并打印的方便而考虑的):

C++判断大端小端_第1张图片

C++判断大端小端_第2张图片

你可能感兴趣的:(C++)