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

Lecture 01

1. 计算机表示数字

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

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

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

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

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

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

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

理解数据结构的特点。

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

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

相关推荐
_李小白1 分钟前
【android opencv学习笔记】Day 23: 分水岭图像分割
android·opencv·学习
百万小涵6 分钟前
机器人ros学习--机器人平台设计
学习·机器人
小碗羊肉9 分钟前
【Agent笔记 | 第三篇】RAG优化
笔记·agent·rag
梁山1号15 分钟前
【WK飞控调试笔记】
笔记
2301_8090511417 分钟前
Linux IO模型与并发服务器 学习笔记
笔记·学习
nashane20 分钟前
HarmonyOS 6学习:麦克风“抢戏”打断音频?AudioSession焦点避坑指南
学习·音视频·harmonyos
暴躁小师兄数据学院28 分钟前
【AI大模型应用开发工程师特训笔记】第04讲(第1章):Python基础与环境搭建
人工智能·笔记·python·ai
半导体守望者31 分钟前
MKS RPS AX7657-85 故障分析与可能解决方案
学习·机器人·自动化·制造·模块测试
日晨难再1 小时前
SVN使用笔记
笔记·svn
RD_daoyi1 小时前
Google 官方调整抓取工具 IP 文件路径:SEO 与服务器安全策略要变了?
服务器·人工智能·学习·tcp/ip·搜索引擎·chatgpt