判断机器大小端的两种实现方法

跪在三尺黄泉

跪在三尺黄泉

2016-02-19 11:04

今天图老师小编要向大家分享个判断机器大小端的两种实现方法教程,过程简单易学,相信聪明的你一定能轻松get!

第一种方法

思路:利用指针的强制类型转换

代码如下:

#include stdio.h
int main(void)
{   
int data1 = 0x12345678;  
int i;  
for(i=0; i4; i++) 
{      
printf("%#x -----%pn",*((char *)&data1 + i),(char *)&data1 + i);  
}    
return 0;
}

从输出的结果可以看出,高位地址0xbfc1b1ff存的是数据的高位0x12,低位地址0xbfc1b1fc存的是数据的低位0x78。所以是小端。同时我们亦可以看到,对数据data取地址实际指向的是存放低位数据的空间。

第二种方法

思路:利用共用体所有数据都从同一地址开始存储。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

代码如下:

#include stdio.h

int main(void)

{

    int i;

    union endian

    {

        int data;

        char ch;

    }test;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

    test.data = 0x12345678;

    if(test.ch == 0x78)

    {

        printf("little endian!n");

    }

    else

    {

        printf("big endian!n");

    }

    for(i=0; i4; i++)

    {

        printf("%#x ------- %pn",*((char *)&test.data + i),(char *)&test.data + i);

    }

    return 0;

}

展开更多 50%)
分享

猜你喜欢

判断机器大小端的两种实现方法

编程语言 网络编程
判断机器大小端的两种实现方法

告诉你两种判断闰年的简单方法

编程语言 网络编程
告诉你两种判断闰年的简单方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

setAttribute方法实现网页两种样式表

Web开发
setAttribute方法实现网页两种样式表

判断窗体是否打开地两种办法

编程语言 网络编程
判断窗体是否打开地两种办法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

让Excel 2007实现双面打印的两种另类方法

excel
让Excel 2007实现双面打印的两种另类方法

jquery ajax提交表单数据的两种实现方法

Web开发
jquery ajax提交表单数据的两种实现方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Java 替换字符串中的回车换行符的方法

Java 替换字符串中的回车换行符的方法

PPT目录制作的方法

PPT目录制作的方法
下拉加载更多内容 ↓