170615_大端与小端、memcpy、字节数组、高低字节

    今天对于大小端、高低字节基础的东西犯迷糊了,今天记下这篇博客,把这些知识捋清楚。

    高低字节:比如像 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值