大端(Big Endian)和小端(Little Endian)的区别
2017-04-13 22:32
555 查看
大端(Big Endian)和小端(Little Endian)的区别
一、背景
在C/C++中,我们经常会处理位运算。不同的系统字节的排列就不一样,有的系统是大端排列,有的系统是小端排列。因此,处理位运算也会因不同的系统而不一样。下面我总结一下大端(Big Endian)和小端(LittleEndian)的区别。
[b] 二、大端[/b]
大端又叫网络字节序。最高有效位存储在低位内存地址,最低有效存储位存储在高位内存地址。
如下所示:int i=0x11223344的变量,最低有效位为44,最高有效位为11。在大端系统中,最高有效位存储在低地址内存中,最低有效位存储在高地址中。
[b] 三、小端[/b]
最高有效位存储在高位内存地址,最低有效位存储在最低位内存地址。
如下所示:nt i=0x11223344的变量,最低有效位为44,最高有效位为11。在小端系统中,最高有效位存储在高地址内存中,最低有效位存储在低地址中。
[b][b] 四、测试码码[/b][/b]
打印结果为:44,33,22,11。 从这个例子中能看出系统是小端系统。因为系统是小端系统所以最低有效位的值44存储在内存地址小的一端。
[b] 五、总结[/b]
1、在大端系统中,最高有效位存储在低地址内存中,最低有效位存储在高地址中。
2、在小端系统中,最高有效位存储在高地址内存中,最低有效位存储在低地址中。
一、背景
在C/C++中,我们经常会处理位运算。不同的系统字节的排列就不一样,有的系统是大端排列,有的系统是小端排列。因此,处理位运算也会因不同的系统而不一样。下面我总结一下大端(Big Endian)和小端(LittleEndian)的区别。
[b] 二、大端[/b]
大端又叫网络字节序。最高有效位存储在低位内存地址,最低有效存储位存储在高位内存地址。
如下所示:int i=0x11223344的变量,最低有效位为44,最高有效位为11。在大端系统中,最高有效位存储在低地址内存中,最低有效位存储在高地址中。
[b] 三、小端[/b]
最高有效位存储在高位内存地址,最低有效位存储在最低位内存地址。
如下所示:nt i=0x11223344的变量,最低有效位为44,最高有效位为11。在小端系统中,最高有效位存储在高地址内存中,最低有效位存储在低地址中。
[b][b] 四、测试码码[/b][/b]
#include <stdio.h> int main(){ int x = 0x11223344; char *p= (char *)&x; char buf[20]={0}; sprintf(buf,"%x,%x,%x,%x",p[0],p[1],p[2],p[3]); printf("%s \n",buf); }
打印结果为:44,33,22,11。 从这个例子中能看出系统是小端系统。因为系统是小端系统所以最低有效位的值44存储在内存地址小的一端。
[b] 五、总结[/b]
1、在大端系统中,最高有效位存储在低地址内存中,最低有效位存储在高地址中。
2、在小端系统中,最高有效位存储在高地址内存中,最低有效位存储在低地址中。
相关文章推荐
- 大端(Big Endian)、小端(Little Endian)
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)详解
- 分析 大端(Big Endian)和小端(Little Endian)
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)简介
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)详解
- 大端(Big Endian)与小端(Little Endian)详解