鱼C论坛

 找回密码
 立即注册
查看: 931|回复: 7

[已解决]大端小端问题

[复制链接]
发表于 2020-3-14 13:17:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 松鼠呀 于 2020-3-14 13:18 编辑


                               
登录/注册后可看大图

https://img02.sogoucdn.com/app/a ... A71B9D37B09DCE93F8B

                               
登录/注册后可看大图
麻烦问一下各位大佬这为什么不是03和93啊
最佳答案
2020-3-14 21:26:35
松鼠呀 发表于 2020-3-14 19:07
大佬,我想问的意思是为什么30算一个字节啊?

12345的16进制是0x3039呀
一个字节=8bit
假设是0x30
转成二进制那就是 00110000 不刚好8位
8cd6369acb76e21774854f06a82b015.jpg
9aa2a63ae5467c1bf8786e63c989b88.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-14 13:29:37 | 显示全部楼层
大小端是针对多字节变量存储而言的。多字节变量大端存储则是高字节在前低字节在后,小端存储则相反。这只是各个字节的顺序。并不是字节内也要反转的,字节内反转那还是原来的数据么?
这是规则,没有为什么。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-14 13:30:30 | 显示全部楼层
0x0393不是连数据大小都变了吗
12345的16进制是0x3039呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-14 13:45:18 | 显示全部楼层
short 占两个字节 a[1]:
a[0],a[1]
a[0]低地址a[1]高地址
0x3039
30高字节,39低字节
小端:
低低高高
a[0]=39,a[1]=30
大端:
低高高低
a[0]=30,a[1]=39
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-14 14:25:43 | 显示全部楼层
本帖最后由 jackz007 于 2020-3-14 15:21 编辑

       首先,大端(Big endian)、小端(Little endian)针对的都是数值型量(通过多个字节组合进行表达的数值,包括整数、浮点数等),其次,大端(Big endian)、小端(Little endian)指的是用来构成一个数值的多个字节在内存中排列的先后顺序,例如,整型数 12345 的十六进制形式是 0x3093,这个数需要用两个字节(30 和 93)来表达,在内存中,这两个字节如果按 30、93 的顺序存储,那么,就是大端(Big endian)模式,反之,如果是按 93、30 的顺序存储,那么,就是小端(Little endian)模式,具体采用大端(Big endian)还是小端(Little endian)取决于 CPU 芯片的硬件架构,我们所使用的 PC 机通常采用的都是 Intel 架构(或兼容)的 CPU 芯片,所以,我们见到的都是清一色的小端(Little endian)模式,很难见到大端(Big endian)模式。  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-14 19:07:04 | 显示全部楼层
jackz007 发表于 2020-3-14 14:25
首先,大端(Big endian)、小端(Little endian)针对的都是数值型量(通过多个字节组合进行表达的 ...

大佬,我想问的意思是为什么30算一个字节啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-14 21:26:35 | 显示全部楼层    本楼为最佳答案   
松鼠呀 发表于 2020-3-14 19:07
大佬,我想问的意思是为什么30算一个字节啊?

12345的16进制是0x3039呀
一个字节=8bit
假设是0x30
转成二进制那就是 00110000 不刚好8位
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-15 07:12:41 | 显示全部楼层
4goodworld 发表于 2020-3-14 21:26
12345的16进制是0x3039呀
一个字节=8bit
假设是0x30

太谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 20:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表