深入理解计算机系统--信息表示和处理
来源:互联网 发布:在澳洲可以用淘宝吗? 编辑:程序博客网 时间:2024/05/16 19:19
第二章 学习小记
3月3日买上这本书,每天都在看,现在一周后看完了前两章。
原来就听说这本书很好,这学期也学计算机组成原理,就买来学习。
首先一个感受是知道了学这些很细微的系统方面的知识对编程意义。
有符号数到无符号数的隐式强制类型转换可能导致程序错误,如getpeername的安全漏洞,还有如乘法的溢出。原来写一些代码都没有考虑过安全性,现在觉得要注重这些细节,养成好的习惯。
还有这本书确实比教科书讲的深入。
浮点表示IEEE754标准中有一个阶码要偏置是2^(n-1)-1,而非通常的2^(n-1),这本书讲的很详细,是因为从非规格化值平滑转换到规格化的值。并通过具体的例子看出补偿非规格化数的尾数没有隐含开头的1,所以这样设置偏置值。
#include<stdio.h>//本觉得书B28上的一个小程序没什么意思,仔细探究了一下还挺深的...typedef unsigned char *byte_pointer;//强制类型转换void show_bytes(byte_pointer start,int len){ int i; for(i = 0;i < len;i++) { printf("%.2x ",start[i]);//.2x 整数必须用至少两个数字的十六进制格式输出 } printf("\n");}void show_int(int x){ show_bytes((byte_pointer) &x,sizeof(int));}void show_float(float x){ show_bytes((byte_pointer) &x,sizeof(float));}void show_pointer(void *x){ show_bytes((byte_pointer) &x,sizeof(void *));}int main(){ float x = -0.5; //show_int(x);//{cc*4} show_float(x);//{cc*4} //show_pointer(x);//{cc*4} return 0;}/*结论:little endian用小端法存数 如果不初始化x,结果都为:cc cc cc cc x = 1: 01 00 00 00 x = 1000: e8 03 00 00 x = 1024: 00 04 00 00 x = 0: 00 00 00 00 x = -0.5: 00 00 00 bf x = -1: ff ff ff ff x = -2: fe ff ff ff x = 0.1: cd cc cc 3d //会有误差 x = 0.5: 00 00 00 3f x = 1.5: 00 00 c0 3f x = 173507: c0 70 29 48 //p48 计组书上此题不是用的IEEE 754标准 x = 22.78125: 00 40 b6 41 //p58*/
0 0
- 深入理解计算机系统--信息表示和处理
- 深入理解计算机系统----->信息的表示和处理笔记
- 深入理解计算机系统--信息的表示和处理
- 深入理解计算机系统(笔记):信息的表示和处理
- 深入理解计算机系统学习之信息的表示和处理
- 深入理解计算机系统--第二章(信息的表示和处理)
- 深入理解计算机系统--信息的表示和处理
- [深入理解计算机系统]第二章-信息的表示与处理
- 《深入理解计算机系统》 第2章 信息的表示和处理
- 深入理解计算机系统 第2章 信息的表示和处理
- 读书笔记--《深入理解计算机系统》第二章 信息的表示和处理
- 深入理解计算机系统之旅(二)信息在计算机中的表示和处理
- 《深入理解计算机系统》学习笔记(一):信息的表示和处理
- 深入理解计算机系统——第02章——信息的表示和处理
- 《深入理解计算机系统》系列之信息的表示和存储
- 深入理解计算机系统 第二章 表示和操作信息
- 深入理解计算机系统(2.1)------信息的存储和表示
- 深入理解计算机系统(2.1)------信息的存储和表示
- log4net的使用
- ubuntu构建Java Web开发环境
- SQL Server游标的使用
- Struts的FormBean及常见错误和标签的使用
- N的阶乘-jobdu-1076
- 深入理解计算机系统--信息表示和处理
- A. Inna and Choose Options
- 关于webchart的使用
- Struts的FormBean及常见错误和标签的使用
- Hibernate一对一主键关联(基于annotation注解方式)
- UVa 208 - Firetruck
- 树莓派学习笔记——webiopi安装与入门
- Linux通信之无名管道
- linux/windows对应的软件