深入理解计算机系统CS213学习笔记

Lecture 01

1. 计算机表示数字

int 整数运算可能会出现错误,超过32位时会出现溢出。

float 浮点数不适用结合律,因为浮点数表示的精度有限。

根其原因,是用有限的位数表示无限的数字空间。

2.利用分层的存储系统,使程序运行更快。

更重要的是,注意内存访问。C++不做内存边界检查。

例子:结构体内部的数据成员在内存中放在一起,当访问数组时,超过了数组的边界,但是不会做内存的边界检查,因此 会访问到其他数据,造成错误。

这种错误调试很难。所以,在自己写程序时,要手动添加边界检查。

理解数据结构的特点。

3.从程序的角度增加性能

一行一行的访问数据比一列一列的访问数据更好,这与内存的排列方式有关。

相关推荐
卡布叻_星星18 小时前
Vue 生态演进指南:主流框架搭配以及Vue CLI vs Vite 与 Vue2 vs Vue3 核心区别
笔记
华舞灵瞳18 小时前
学习FPGA(六)锁相环
学习·fpga开发
小裕哥略帅18 小时前
PMP学习笔记--环境
笔记·学习
liuaa4119 小时前
期刊论文笔记
笔记
HXR_plume19 小时前
【Web信息处理与应用课程笔记3】个性化检索(上)
笔记
Darkershadow19 小时前
python学习之串口通信
python·学习
BullSmall20 小时前
普罗米修斯 的学习路径及建议
学习·prometheus
happyjoey21720 小时前
28天立创实力派开发板学习记录part1——DAY1-DAY8
学习
非凡ghost1 天前
CoolUtils PDF Combine(PDF合并工具)
windows·学习·pdf·软件需求
Cathy Bryant1 天前
傅里叶变换(一):简介
笔记·算法·数学建模·信息与通信·傅里叶分析