pc机和stm32的大小端测试

大端序(big endian):高序字节存储在低地址(指CPU对操作数的存放方式是将数据的高位存放在内存中的低地址,而数据的低位存放在内存中的高地址。)

小端序(little endian):低序字节存储在低地址(指CPU对操作数的存放方式是将数据的低位存放在内存中的高地址,而数据的低位存放在内存中的搞地址。)

大多数ARM处理器都是采用的小端模式,网络中传输的数据必须按网络字节序,即大端序。

那就就来测试一下,首先测试PC机,win10系统,vs2010测试

代码如下:

#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
    int n=0x87654321;
    if(*(char *)&n==0x21)
    {
        printf("little enbian\n");
    }else{
        printf("big endian");
    }
    while(1);
    return 0;
}

输出结果:

内存中的数据存放:

字节序是小端模式

 

再测试arm芯片stm32f207 ,keil中测试:

串口没有印出来,那就打个断点测下吧

也是小端模式,内存中的数据是这样的

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知秋贺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值