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

Lecture 01

1. 计算机表示数字

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

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

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

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

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

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

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

理解数据结构的特点。

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

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

相关推荐
旅僧22 分钟前
Π0 理论讲解更新中
学习
知南x1 小时前
【DPDK例程学习】(3) timer
学习
智者知已应修善业1 小时前
【用74LS151的实现(16序列信号发生器)】2024-6-1
驱动开发·经验分享·笔记·硬件架构·硬件工程
「維他檸檬茶」1 小时前
大模型算法学习2026.6.13
学习·算法
代码续发2 小时前
AI Agent的学习记录
学习
是上好佳佳佳呀2 小时前
【LangChain|Day04】RAG 全流程基础笔记:Document 、 Loader 和 Splitter
笔记·langchain·rag
俊男无期2 小时前
【无标题】
笔记·其他
m0_719084112 小时前
es我的笔记
大数据·笔记·elasticsearch
ken22323 小时前
文本编辑器默认字体 收集
学习
H__Rick3 小时前
C51学习-DAY6
单片机·嵌入式硬件·学习