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

Lecture 01

1. 计算机表示数字

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

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

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

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

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

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

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

理解数据结构的特点。

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

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

相关推荐
南境十里·墨染春水19 分钟前
linux学习进展 shell编程
linux·运维·学习
handler011 小时前
UDP协议与网络通信知识点
c语言·网络·c++·笔记·网络协议·udp
xwz小王子1 小时前
机器人学习十年进化史——从强化学习到VLA的范式变迁
大数据·学习·机器人
小新同学^O^2 小时前
简单学习 --> WebSocket
java·websocket·网络协议·学习
sheeta19984 小时前
LeetCode 每日一题笔记 日期:2026.05.13 题目:1674. 使数组互补的最少操作次数
笔记·算法·leetcode
z200509304 小时前
【linux学习】linux的基本指令
linux·学习
叁散4 小时前
实验项目1 LTE通信原理与应用
笔记·其他
AOwhisky4 小时前
Docker 学习笔记:镜像分发、容器运行与资源限制
笔记·学习·docker
MediaTea5 小时前
人工智能通识课:机器学习之无监督学习
人工智能·深度学习·学习·机器学习
Fanfanaas6 小时前
2026 年 华中杯 数学建模竞赛 A 题 问题一个人解析
学习·数学建模