简短程序推断大小端
2016-03-30 08:02
295 查看
先放代码:
再说原理:
上述程序,假设返回值为1则是小端,假设是0则大端。由于union类型共用一段内存,所以c占4个字节(假设是32位机器),把1赋给a。假设是小端则1会存放在低位,则取出b也是1,反之若是大端则1存放在高位,b即为0.
int check() { union { unsigned int a; unsigned char b; }c; c.a = 1; return 1 == c.b; }
再说原理:
上述程序,假设返回值为1则是小端,假设是0则大端。由于union类型共用一段内存,所以c占4个字节(假设是32位机器),把1赋给a。假设是小端则1会存放在低位,则取出b也是1,反之若是大端则1存放在高位,b即为0.
相关文章推荐
- 转载Sql 获取数据库所有表及其字段名称,类型,长度
- 面向对象
- Content Provider内容提供者
- BZOJ 2462: [BeiJing2011]矩阵模板
- BZOJ 1500[NOI2005] 维修数列
- 2016年3月28日作业
- Service如何工作?
- LFCS 系列第三讲:归档/压缩文件及目录、设置文件属性和搜索文件
- 白话经典算法系列之一 冒泡排序的三种实现
- bzoj 2588 Spoj 10628. Count on a tree
- 【poj 1837】Balance 题意&题解&代码(C++)
- Try using /USELOCALTIME
- 【BZOJ-1208】宠物收养所 Splay
- 广播接收器的生命周期及使用
- bzoj 3289: Mato的文件管理
- 公司的高速发展是对团队最好的管理
- 平衡树模板&&bzoj 3223&&Tyvj 1729 文艺平衡树
- 无法打开键: UNKNOWN\Components\BE1FB738077DBE490AF18C3B9B1A1EE8\E5F5286B58B542741A00A0A9AA420B27
- 【BZOJ3048】Cow lineup,贪心+队列维护(或二分答案)
- 桌面图标全变成.lnk的图标(WIN7系统电脑除了计算机,网络,回收站以外(包括开始菜单)的图标全都变成后缀为.lnk的文件)