美文网首页
利用共用体来判断系统的大小端模式

利用共用体来判断系统的大小端模式

作者: 沙卡拉卡轻食吧 | 来源:发表于2018-11-11 22:51 被阅读0次

union 的大小为 其最大成员的空间。所有成员共享这一个空间。

union A 

{

    char a;

    int b;

    double c;

}

A的大小为其成员 double的大小,其中最大的那个成员。

Big-Endian: 低地址存放高位,如下:

高地址

---------------

buf[3] (0x78) -- 低位

buf[2] (0x56)

buf[1] (0x34)

buf[0] (0x12) -- 高位

---------------

低地址

Little-Endian: 低地址存放低位,如下:

高地址

---------------

buf[3] (0x12) -- 高位

buf[2] (0x34)

buf[1] (0x56)

buf[0] (0x78) -- 低位

--------------

#include <stdio.h>

#include <malloc.h>

typedef union SmallBig

{

char buf[4];

long num;

}smallbig;

int main()

{

smallbig sb;

sb.num = 0x12345678;

int i = 0;

for (i = 0; i < 4; i++)

{

printf("sb.buf[%d]=%x \n",i, sb.buf[i]);

}

getchar();

return 0;

}

输出

sb.buf[0]=78

sb.buf[1]=56

sb.buf[2]=34

sb.buf[3]=12

由此可见我的电脑是 高字节在高位的小端模式

相关文章

  • 利用共用体来判断系统的大小端模式

    union 的大小为 其最大成员的空间。所有成员共享这一个空间。 union A { char a; in...

  • union共用体

    重要特征:共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员一个有趣的应用使用共用体判断大小端 序列化...

  • 系统大小端判断

  • C语言判断机器CPU大小端模式的两种方法

    C语言判断机器CPU大小端模式的两种方法 本文介绍使用C语言编写程序判断机器CPU大小端模式的两种方法。 第一种方...

  • 大小端模式

    一般解决大小端问题 使用union和指针两个方法来判断。 大小端模式:就是表示一个数值放在内存中的格式,高位对高地...

  • 大小端存储模式的理解和判断

    在计算机系统中,存储是以字节为单位的,每个地址单元都对应着一个字节,一个字节=8bit。在C语言中除了8bit的c...

  • 9-malloc练习-大小端

    malloc 练习 : 大小端判断 :

  • C语言基础 之 共用体类型

    共用体类型 共用体类型的说明和变量定义 共用体类型又称“联合类型”,简称共用体。共用体类型的说明和变量的定义方式与...

  • C语言共用体

    共用体 共用体的格式:union 共用体名称{数据类型 属性名称;数据类型 属性名称;... ...}共用体定义的...

  • 大小端模式

    大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数...

网友评论

      本文标题:利用共用体来判断系统的大小端模式

      本文链接:https://www.haomeiwen.com/subject/atiffqtx.html