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

Lecture 01

1. 计算机表示数字

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

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

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

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

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

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

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

理解数据结构的特点。

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

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

相关推荐
妄汐霜10 分钟前
小白学习笔记(MySQL基础中其他知识)
笔记·学习·mysql
我的xiaodoujiao32 分钟前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 41--自定义定制化展示 Allure 测试报告内容
python·学习·测试工具·pytest
码农客栈34 分钟前
小程序学习(十一)之uni-app和原生小程序开发区别
学习·小程序·uni-app
一个响当当的名号35 分钟前
lectrue1 关系模型和代数
笔记
淦。。。。38 分钟前
题解:P14013 [POCamp 2023] 送钱 / The Generous Traveler
开发语言·c++·经验分享·学习·其他·娱乐·新浪微博
GLDbalala41 分钟前
GPU PRO 4 - 5.1 An Aspect-Based Engine Architecture 笔记
笔记
小裕哥略帅1 小时前
PMP学习笔记--过程
笔记·学习
好奇龙猫1 小时前
【人工智能学习-AI入试相关题目练习-第六次】
人工智能·学习
ocean'1 小时前
渗透笔记总结
笔记
ljt27249606611 小时前
Flutter笔记--Isolate
笔记·flutter