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

Lecture 01

1. 计算机表示数字

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

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

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

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

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

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

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

理解数据结构的特点。

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

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

相关推荐
●VON3 分钟前
HarmonyOS应用开发实战(基础篇)Day12 -《打造专业级底部导航栏》
学习·华为·harmonyos·von
有为少年6 分钟前
Monarch矩阵:从设计直觉到数学推导与实际应用
人工智能·深度学习·学习·线性代数·机器学习·计算机视觉·矩阵
2501_918126917 分钟前
stm32四条线,红绿黑白分别对应什么
stm32·单片机·学习·个人开发
左左右右左右摇晃17 分钟前
SpringBoot 实现「新增班级 + 批量关联教师」多对多业务实战
笔记
小付同学呀9 小时前
C语言学习(五)——输入/输出
c语言·开发语言·学习
学编程的闹钟10 小时前
E语言计算器开发全攻略
学习
薛定e的猫咪10 小时前
Claude Code 完整学习手册:安装配置、CCR、MCP、插件与 Superpowers开发框架
学习
雾山大叔10 小时前
多会话浏览器串口调试助手
经验分享·笔记·学习
小凯1234512 小时前
pytest框架-详解(学习pytest框架这一篇就够了)
python·学习·pytest
桂花很香,旭很美12 小时前
Anthropic Agent 工程实战笔记 · 延伸阅读
笔记·架构·agent