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

Lecture 01

1. 计算机表示数字

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

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

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

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

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

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

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

理解数据结构的特点。

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

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

相关推荐
IT技术员1 小时前
【Java学习】动态代理有哪些形式?
java·python·学习
一只码代码的章鱼2 小时前
学习笔记(算法学习+Maven)
笔记·学习·算法
冰茶_3 小时前
WPF TextBlock控件性能优化指南
学习·性能优化·wpf·控件
flying robot3 小时前
小结:PKI(Public Key Infrastructure,公钥基础设施)
笔记
keep intensify3 小时前
数据结构---单链表的增删查改
c语言·数据结构·c++·经验分享·学习·算法·分享
huangyuchi.3 小时前
【C++11】类的新功能
开发语言·笔记·c++11·delete·移动构造·移动赋值·deflut
2501_915373883 小时前
怎样学习Electron
javascript·学习·electron
怀念无所不能的你4 小时前
acwing背包问题求方案数
学习·算法·动态规划·dp
LVerrrr5 小时前
Missashe考研日记-day29
学习·考研
灏瀚星空5 小时前
从基础到实战的量化交易全流程学习:1.3 数学与统计学基础——线性代数与矩阵运算 | 矩阵基础
笔记·python·学习·线性代数·数学建模·金融·矩阵