admin管理员组文章数量:1130349
一、为什么有大端小端的问题?
计算机中数据都是按字节为单位的,超过一个字节的数据在数据存储的过程中会有一个顺序的问题。有两种储存模式:
大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。
小端模式:是指数据的低字节保存在内存的低地址中,而数据的高字节保存在内存的高地址中。
比如十六进制数int a=0x11223344;
| 存储器地址 | 0x100 | 0x101 | 0x102 | 0x103 |
| 大端模式 | 0x11 | 0x22 | 0x33 | 0x44 |
| 小端模式 | 0x44 | 0x33 | 0x22 | 0x11 |
二、什么是高位字节和什么是低位字节?
如下表所示每一个字节可以分8位 也是有顺序的 最高位就是MSB 最低位就是LSB
| 数据位 | Bit7(MSB) | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0(LSB) |
| 数据(0x11) | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
三、数据传输中的大端小端问题
在通信协议中,必须明确指定使用哪种字节序(如网络字节序,通常采用大端模式),以确保发送方和接收方能够正确地解释数据。否则,如果发送方使用大端而接收方使用小端(或反之),那么在数据传输过程中就可能会出现混乱。
四、常见的处理器大小端架构
由此可见:CPU的大小端是有硬件架构决定的。
常见的处理器大小端架构:
| 处理器 | 端模式 |
|---|---|
| IntelX86 | Little-Endian |
| Power-PC | Big-Endian |
| IBM | Big-Endian |
| ARM | 默认 Little-Endian |
| STM32 | Little-Endian |
五、C语言如何代码判断大小端
bool isLittleEndian(){
unsigned short a = 0x1218;
if( (*(char*)&a) == 0x18){
return true;
}else{
return false;
}
}
参考文献
一文彻底弄懂大端与小端_kingforyang的博客-CSDN博客_大端小端
一、为什么有大端小端的问题?
计算机中数据都是按字节为单位的,超过一个字节的数据在数据存储的过程中会有一个顺序的问题。有两种储存模式:
大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。
小端模式:是指数据的低字节保存在内存的低地址中,而数据的高字节保存在内存的高地址中。
比如十六进制数int a=0x11223344;
| 存储器地址 | 0x100 | 0x101 | 0x102 | 0x103 |
| 大端模式 | 0x11 | 0x22 | 0x33 | 0x44 |
| 小端模式 | 0x44 | 0x33 | 0x22 | 0x11 |
二、什么是高位字节和什么是低位字节?
如下表所示每一个字节可以分8位 也是有顺序的 最高位就是MSB 最低位就是LSB
| 数据位 | Bit7(MSB) | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0(LSB) |
| 数据(0x11) | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
三、数据传输中的大端小端问题
在通信协议中,必须明确指定使用哪种字节序(如网络字节序,通常采用大端模式),以确保发送方和接收方能够正确地解释数据。否则,如果发送方使用大端而接收方使用小端(或反之),那么在数据传输过程中就可能会出现混乱。
四、常见的处理器大小端架构
由此可见:CPU的大小端是有硬件架构决定的。
常见的处理器大小端架构:
| 处理器 | 端模式 |
|---|---|
| IntelX86 | Little-Endian |
| Power-PC | Big-Endian |
| IBM | Big-Endian |
| ARM | 默认 Little-Endian |
| STM32 | Little-Endian |
五、C语言如何代码判断大小端
bool isLittleEndian(){
unsigned short a = 0x1218;
if( (*(char*)&a) == 0x18){
return true;
}else{
return false;
}
}
参考文献
一文彻底弄懂大端与小端_kingforyang的博客-CSDN博客_大端小端
版权声明:本文标题:大端和小端(Big endian and Little endian)、高位字节(Most Significant Byte,MSB)和低位字节(Least Significant Byte,LSB) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1754358468a2677688.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论