大小端转换

一、高地址和低地址

 

 

 二、高字节低字节

如int a=16777220,化为十六进制是0x01 00 00 04则04属于低字节,01属于高字节

三、大小端模式

大端模式(Big Endian):数据的高字节,保存在内存的低地址中;数据的低字节,保存在内存的高地址中。

小端模式(Little Endian):数据的高字节,保存在内存的高地址中;数据的低字节,保存在内存的低地址中。

(1)如果a在内存中的存放顺序为下图(即低字节存放在高地址),则为大端模式

 

 

 (2)如果a在内存中的存放顺序为下图(即低字节存放在低地址),则为小端模式

 

 

 (3)如何互换(通过移位操作再或)(简单说一下为什么要进行大小端转化:在网络传输中,一般要求是大端,而inter处理器是小端,network to host理解为大端转小端,而host to network 理解为小端转大端。)

 

 

 

对于大小端的几个结论:
1.char型变量和char型数组没有大小端的区分。
2.需要转化数据类型大于1个字节的数据类型:short,int,枚举,联合体等。

参考:https://blog.csdn.net/oqqHuTu12345678/article/details/82823890

posted @ 2022-06-10 11:29  vickylinj  阅读(2773)  评论(0编辑  收藏  举报