经典笔试题:用C写一个函数测试当前机器大小端模式
2017-05-05 14:02
267 查看
“用C语言写一个函数测试当前机器的大小端模式”是一个经典的笔试题,如下使用两种方式进行解答:
1. 用union来测试机器的大小端
2. 用指针测试机器大小端
注: 通信系统中,通信双方数据传送方式中,先发低字节的方式叫小端,先发高字节的方式叫大端。
1. 用union来测试机器的大小端
1 #include <stdio.h> 2 3 union test 4 { 5 int a; 6 char b; 7 }; 8 9 int endian_test(void) 10 { 11 union test t1; 12 t1.a = 1; 13 return t1.b; 14 } 15 16 int main(void) 17 { 18 int i = endian_test(); 19 if(i == 1) 20 { 21 printf("is little endian.\n"); 23 } 24 else 25 { 26 printf("is big endian.\n"); 28 } 29 30 printf("i = %d.\n", i); 31 32 return 0; 33 }
2. 用指针测试机器大小端
1 #include <stdio.h> 2 3 int main() 4 { 5 int a = 1; 6 char b = *((char *)&a); 7 8 return 0; 9 }
注: 通信系统中,通信双方数据传送方式中,先发低字节的方式叫小端,先发高字节的方式叫大端。
相关文章推荐
- 【C语言】编写函数判断当前的机器大小端模式
- 测试当前机器的大小端模式(两种方法)
- 写一个函数:判断当前使用的机器是大端还是小端
- 运行时如何获取运行当前代码所在的函数,一个神奇的宏
- 一个经典的函数.
- 我也来写一个类printf函数(一道深信服的笔试题)
- zz 高效的中文字符串截取函数,附带一个性能测试方法Benchmark_Iterate
- 一个测试运行时间的函数
- javascript 中的 prototype和constructor属性的使用(constructor属性始终指向创建当前对象的构造函数,每个函数都有一个默认的属性prototype,而这个prototype的constructor默认指向这个函数)
- jQuery 标记当前函数 开始写一个简单的插件
- 经典的判断同一台机器同一个程序开启两次
- 经典测试用例,一个水杯的测试
- 自己写的一个测试函数执行效率的单元(test on Delphi 7)
- 分享一个记录当前代码信息的函数
- 分享一个记录当前代码信息的函数
- [转载] 经典测试用例: 一个水杯的测试
- 一个ajax的经典测试用例
- 一个测试数据库连接的函数
- 网上的一个PHP分页函数,测试可用
- 经典测试用例,一个水杯的测试