第二章家庭作业
来源:互联网 发布:java监听键盘按键 编辑:程序博客网 时间:2024/05/15 05:35
2.58:判断机器是大端法还是小端法
这道题思路很明确,无非就是构造一个高位字节跟低位字节不同的数字,检验机器低位(或高位)输出的是什么来判断是大端法还是小端法。
自己的代码:
int is_little_endian() { int i = 1; return (0xFF) & i;}
网上看到的利用union的方法,其实字符串可以当做字节流来使用。union中数据的读取是从低位开始的。
int is_little_endian() { union { int a; char b; } un; un.a = 1; return un.b;}
最后是书上的,利用类似于 show_bytes 字节数组的方法。
int is_little_endian(void) { /* MSB = 0, LSB = 1*/ int i = 1; /* Return MSB when big-endian, LSB when little-endian*/ return (int)(*(unsigned char *) (&i));}
强制类型转换在系统级编程时是很常用的技巧。
- 第二章家庭作业
- CSAPP 3rd 第二章家庭作业
- 深入理解计算机系统(第二版) 家庭作业 第二章
- 深入理解计算机系统(第二版) 家庭作业 第三章
- 深入理解计算机系统(第二版) 家庭作业 第四章
- 深入理解计算机系统(第二版) 家庭作业 第五章
- 深入理解计算机系统(第二版) 家庭作业 第六章
- 深入理解计算机系统(第二版) 家庭作业 第七章
- 深入理解计算机系统(第二版) 家庭作业 第八章
- 深入理解计算机系统(第二版) 家庭作业 第九章
- 深入理解计算机系统(第二版) 家庭作业 第十章
- 深入理解计算机系统(第二版) 家庭作业 第十一章
- 深入理解计算机系统第二章家庭作业(2.68-2.82)
- 深入理解计算机系统家庭作业第二章(2.83-2.90)
- 深入理解计算机系统第二章家庭作业(2.91-2.96)
- CSAPP(深入理解计算机系统)第二版家庭作业答案-第二章
- 深入理解计算机系统第二章家庭作业答案(2.58-2.67)
- CSAPP(深入理解计算机系统)第二版家庭作业答案-第三章
- 修改android设备密度的问题
- FLex与Java不能交互的解决办法
- 工作常用的软件
- spice server qxl worker 及memslot
- 有时候可用 UIWebView 代替 UITextView,解决行间距问题
- 第二章家庭作业
- jquery 使用整理
- Linux Shell脚本攻略学习总结:三
- 【飞凌S5PV210开发板知识分享】WinCE与Linux有何区别?
- 黑马程序员_十四 【IO流认识】【字符流】
- 如何查看一个网页打开速度
- 链式队列简单实现
- Java防跨域攻击解决方案
- RPC 编程