联合体判断大小端
来源:互联网 发布:如何通过网络发送短信 编辑:程序博客网 时间:2024/05/21 17:26
“如何判断所用的机器是大端还是小端?”这是一个面试的时候经常被问起的问题。其实很简单,使用联合体就可以轻松判断出来。在写代码之前,只需知道两点,第一,联合体的各个成员都是公用内存的;第二,联合体的成员不管是在哪个架构上默认都是从低地址开始存储的,这点非常重要。下面我们来看代码。
#include <stdio.h>#include <stdlib.h>union endian{ char a; int b;}test;int main(){ test.b = 0x12345678; printf("0x%x\n", test.a);}
打印结果:
0x78
所以可以判断我所用的架构是小端的。下面稍微解释一下,test.a是联合体在内存中的第一个字节(也是在内存地址中最低的地址),打印出来了0x78说明数据的逻辑低位存储在了内存地址的低位,这就是小端了。
0 0
- 联合体判断大小端
- 用联合体判断大小端
- C语言——用联合体判断大小端
- C语言——用联合体判断大小端
- C语言——用联合体判断大小端
- C语言——用联合体判断大小端
- 联合体、大小端模式
- 联合体结构体类型大小判断
- 共用体(联合体)简介及在大小端判断的巧妙运用
- 大小端模式解析(联合体union)
- sizeof计算联合体大小
- C/C++中的联合体union及CPU大小端判定
- 利用联合体union编写测试系统大小端程序
- C/C++中的联合体union及CPU大小端判定
- c语言的联合体以及大小端 (备忘)
- C/C++中的联合体union及CPU大小端判定
- 快速判断大小端
- 判断大小端
- HDU 3586 Information Disturbing(树形DP)
- Android属性动画
- android app瘦身
- Android中使用PreferenceActivity创建菜单
- intent传参与接收参数
- 联合体判断大小端
- CMS系统使用技巧
- Ugly Number II(求第N个丑数)
- Java 数组及其内存管理
- iOS开发中XIB的使用
- 一天一排序之“插入排序(insertSort)”
- 链接chinanet无法出现登陆界面(电脑),360开wifi说缺少一个网卡
- Sublime使用技巧【边整理边记录】
- ACM程序设计选修课——1057: Beautiful Garden(模拟+耐心调试)