打印
[其他]

秒懂大小端

[复制链接]
1120|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aoyi|  楼主 | 2023-10-27 10:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式




判断大小端代码:

int temp=1;

char *p=(char *)&temp;

if(*p==1)printf("小端模式");

else printf("大端模式");
————————————————
版权声明:本文为CSDN博主「IOT-Power」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a15236617777/article/details/131822309

使用特权

评论回复
沙发
呐咯密密| | 2023-10-27 13:57 | 只看该作者
继续追加大小端互换代码

使用特权

评论回复
板凳
tpgf| | 2023-11-2 10:11 | 只看该作者
现在的单片机基本上是不是大概率都采用大端模式了啊

使用特权

评论回复
地板
aoyi|  楼主 | 2023-11-2 10:43 | 只看该作者
为什么一开始的时候大小端没有一个统一的规定呢?大家思考过这个问题吗

使用特权

评论回复
5
tfqi| | 2023-11-2 11:17 | 只看该作者
Intel的80x86系列芯片是唯一还在坚持使用小端的芯片,ARM芯片默认采用小端,但可以切换为大端;而MIPS等芯片要么采用全部大端的方式储存,要么提供选项支持大端--可以在大小端之间切换。另外,对于大小端的处理也和编译器的实现有关,在C语言中,默认是小端(但在一些对于单片机的实现中却是基于大端,比如Keil 51C),Java是平台无关的,默认是大端。在网络上传输数据普遍采用的都是大端。

使用特权

评论回复
6
gwsan| | 2023-11-2 20:49 | 只看该作者
可以自行通过代码判断是大端还是小端吗?

使用特权

评论回复
7
zljiu| | 2023-11-2 21:13 | 只看该作者
为什么要区分大小端,这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),另外,对于位数大于 8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如何将多个字节安排的问题。因此就导致了大端存储模式和小端存储模式

使用特权

评论回复
8
nawu| | 2023-11-2 21:48 | 只看该作者
大小端是不是基本应用在数据传输方面呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

100

主题

3306

帖子

3

粉丝