C语言问题,求教大神?????

forestzhu01 2016-09-15 10:36:16
int i =0x12345678;
i 的地址是大端储存还是小端储存(只是自己书写的地址)
...全文
136 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Behard 2016-09-20
  • 打赏
  • 举报
回复
http://blog.csdn.net/kit_9875507/article/details/44264663 第一种:联合(union)方式判断法 在union中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同 的起始地址。即上述的union虽然定义了两个成员,但其实这个union只占用了4个字节(32位机器中),往a成员 赋值,然后读取b就相读取a成员的低位第一个字节的值。如果机器使用大端模式,则u.a=1那a的最高字节值为1; 如果机器使用小段模式,则u.a=1则a的最低位字节为1。上述可知b和a有相同的起始位,所以读取b如果等于1, 则为小端模式,b为0则为大端模式 第二种称之为直接判断法,怎么直接判断呢,其实就是根据大小端各自的存储方式编写程序进行判断,这个方法更直接。 首先我们来看下大小端的存储方式: 大端模式(Big_endian) -- 字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。 小端模式(Little_endian)-- 字数据的高字节存储在高地址中,而字数据的低字节则存放在低地址中。 根据这个特性,假设我们初始化了一个int变量i为0x12345678,其地址为0x100,根据定义在小端模式下 0x100一个字节内的值为0x78,类推0x101=>0x56,0x102=>0x34,0x103=0x12
strong12345 2016-09-20
  • 打赏
  • 举报
回复
印象中windows都默認小端儲存
vfdn 2016-09-20
  • 打赏
  • 举报
回复
不同的机器存储顺序不一样,有的是大端,有的是小端

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧