今天对于大小端、高低字节基础的东西犯迷糊了,今天记下这篇博客,把这些知识捋清楚。
高低字节:比如像 int t=0x1234785678,最左边的就是最高字节0x12,最右边为最低字节0x78
大小端:仅对大于1个字节的数据类型,像char就不存在大小端问题,大端就是高字节存入低地址,小端就是低字节存入低地址。(一般像windows是小端,小端居多)
int t=0x1234785678
大端存储:
地址 数据
0x00000000 0x12
0x00000001 0x34
0x00000002 0x56
0x00000003 0x78
小端存储:
地址 数据
0x00000000 0x78
0x00000001 0x56
0x00000002 0x34
0x00000003 0x12
字节数组大小端:字节数组不存在大小端,数组在内存中是连续的,地址从小到大开始储存对应下标也是从小到大数据,其他类型数组也如此,比如 int a[4]地址存储也是从小到大,a[0]地址为最小
比如:char str[4]; 地址 数据
0x00000000 str[0]
0x00000001 str[1]
0x00000002 str[2]
0x00000003 str[3]
memcpy大小端:
memcpy((& int) ,char ),如果将char复制到int中,存在大小端,如果是小端就是char s[0]复制到int中的低地址,大端的话,char s[0]复制到int中的高地址中
这篇博客说的很详细:大端 小端 与memcpy
版权归原作者 左天任 所有, 如有侵权,请联系我们删除。