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

Lecture 01

1. 计算机表示数字

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

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

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

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

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

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

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

理解数据结构的特点。

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

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

相关推荐
土星碎冰机几秒前
ai自学笔记 (2.prompt 踩坑与优化)
笔记·ai·prompt·claude
张二娃同学4 分钟前
第12篇_深度学习学习路线总结
人工智能·python·深度学习·神经网络·学习
pluviophile_s13 分钟前
数据结构:第1讲:算法分析
数据结构·笔记
05候补工程师22 分钟前
【硬核干货】用“算法”思维袭英语新题型:集合逆清晰除与降维打击解题法
经验分享·笔记·考研·算法·学习方法
信奥胡老师36 分钟前
B3930 [GESP202312 五级] 烹饪问题
开发语言·数据结构·c++·学习·算法
nashane40 分钟前
HarmonyOS 6学习:Canvas性能优化与长截图流畅实现实战
学习·性能优化·harmonyos
许长安40 分钟前
Redis 跳表实现详解
数据库·c++·经验分享·redis·笔记·缓存
June bug1 小时前
【雅思学习笔记】Part2话题词汇及表达
笔记·学习
Hehuyi_In1 小时前
postgres-howto 学习笔记
笔记·学习·postgresql·脚本·how to
only-lucky1 小时前
QML深入学习四(布局用法)
学习