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

上周写过一个什么是大小端的答疑解惑,今天接着说如何使用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;

}

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-08-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python入门

这4个Python实战项目,让你瞬间读懂Python!

Python当下真的很火。Python实战项目,也一直尤为关注,接下来,和大家介绍下十个Python练手的实战项目

1444
来自专栏牛客网

前端实习面经(回馈牛客网)

1403
来自专栏简书专栏

Python数据分析及可视化-小测验

本文中测验需要的文件夹下载链接: https://pan.baidu.com/s/1OqFM2TNY75iOST6fBlm6jw 密码: rmbt 下载压缩包...

1002
来自专栏架构之路

【网络编程系列】一:字节顺序的大端与小端表示法

一、字节序 字节序,也就是字节的顺序,指的是多字节的数据在内存中的存放顺序。 在几乎所有的机器上,多字节对象都被存储为连续的字节序列。例如:如果C/C++中的一...

3276
来自专栏腾讯社交用户体验设计

移动H5前端性能优化指南 - 腾讯ISUX

1651
来自专栏大数据文摘

为什么Python这么慢?

Python语言近年来人气爆棚。它广泛应用于网络开发运营,数据科学,网络开发,以及网络安全问题中。

504
来自专栏IMWeb前端团队

深入探讨前端UI框架

深入探讨前端UI框架 1 前言 先说说这篇文章的由来 最近看riot的源码,发现它很像angular的dirty check,每个component ( tag...

1937
来自专栏牛客网

C++后台腾讯WXG实习面经(已拿offer)

1615
来自专栏数据小魔方

三角符号凸显数据的盈亏趋势

今天要跟大家分享的技巧是用三角符号来凸显数据表中的盈亏趋势! ▽▼▽ 通常一张带有数据以及增长趋势表格,需要读者反复浏览才能明白其中的趋势和增减情况,可是如果你...

2767
来自专栏数据小魔方

带负值的图表标签处理方法

今天跟大家分享带负值的图表标签处理方法! ▽▼▽ 在遇到某些特殊图表时,特别是一个数据系列中既有正值又有负值的情况,数据标签以及纵轴轴标签总是会相互遮挡,做出来...

3066

扫码关注云+社区