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

Lecture 01

1. 计算机表示数字

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

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

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

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

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

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

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

理解数据结构的特点。

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

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

相关推荐
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.1 小时前
Keepalived VIP迁移邮件告警配置指南
运维·服务器·笔记
ling___xi2 小时前
《计算机网络》计网3小时期末速成课各版本教程都可用谢稀仁湖科大版都可用_哔哩哔哩_bilibili(笔记)
网络·笔记·计算机网络
星火开发设计2 小时前
类型别名 typedef:让复杂类型更简洁
开发语言·c++·学习·算法·函数·知识
Gorgous—l2 小时前
数据结构算法学习:LeetCode热题100-多维动态规划篇(不同路径、最小路径和、最长回文子串、最长公共子序列、编辑距离)
数据结构·学习·算法
中屹指纹浏览器3 小时前
中屹指纹浏览器底层架构深度解析——基于虚拟化的全维度指纹仿真与环境隔离实现
经验分享·笔记
Hello_Embed3 小时前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus
无聊的小坏坏4 小时前
实习笔记:用 /etc/crontab 实现定期数据/日志清理
笔记·实习日记
香芋Yu4 小时前
【机器学习教程】第04章 指数族分布
人工智能·笔记·机器学习
●VON4 小时前
Flutter for OpenHarmony 21天训练营 Day03 总结:从学习到输出,迈出原创第一步
学习·flutter·openharmony·布局·技术