首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【答疑解惑】如何确定当前系统的大小端?

【答疑解惑】如何确定当前系统的大小端?

作者头像
程序员互动联盟
发布2018-03-14 12:03:35
8160
发布2018-03-14 12:03:35
举报

上周写过一个什么是大小端的答疑解惑,今天接着说如何使用C语言来确定当前系统的大小端,下面介绍两种有效的方法。

方法1:利用union类型 —— 可以利用union类型数据的特点:所有成员的起始地址一致。

#include <cstdio>

int checkSystem()

{

union check

{

int i;

char ch;

}c;

c.i=1;

return (c.ch==1);

}

int main()

{

checkSystem()==1 ? printf("Little-endian/n") : printf("Big-endian/n");

return 0;

}

方法2:对int强制类型转换

#include<stdio.h>

#include<stdlib.h>

int main()

{

int i = 1;

(*(char *)&i == 1) ? printf("Little-endian/n") : printf("Big-endian/n");

system("pause");

return 0;

}

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员互动联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档