这本书的大名其实早有耳闻,也早就想看,也应该看的一本书。正如他在封面上标注的,这本书适合以下几类人:
- 菜鸟程序员入门进阶
- 中级程序员查漏补缺
- 高手程序眼向家人(女友、老妈等)普及计算机知识
我虽说是一名计算机专业的科班生,但是对于这些知识理解的也并不深刻,目前刚看了此书的第一章,就已经达到了开卷有益的目的,甚至说对某些知识点有了更加深刻和清晰的认知。
在这里简单做一下记录。
1. 对程序员来说CPU是什么
第一章名为“对程序员来说CPU是什么”,我们知道CPU是由寄存器、控制器、运算器和时钟构成的,但是这并不是这个问题的答案,作者在书中提出的观点是 “CPU是众多寄存器的集合”。围绕着这一观点,作者在书中演示了计算机如何利用寄存器对上层高级语言的要求进行执行,还讲解了条件分支、循环分支和函数在CPU中是如何处理的。在最后,说明了CPU具体可以执行的命令,如下表:
类型 | 功能 |
---|---|
数据转送指令 | 寄存器和内存、内存和内存、寄存器和外部设备之间的数据读写操作 |
运算指令 | 用累加寄存器执行算数运算、逻辑运算、比较运算和移位运算 |
跳转指令 | 实现条件分支、循环、强制跳转等 |
call/return指令 | 函数的调用/返回调用前的地址 |
其中关于函数的调用执行,从CPU和内存的角度进行讲解,帮助我更加深入的理解了函数这一概念。
2. 数据是用二进制数来表示的
二进制几乎是大学生涯中每一个计算机专业课都会多多少少涉及的东西,包括但不限于计算机组成原理、计算机网络、数字电路、离散数学等等……但是很多概念不常用还是会忘记,尤其是对于不接触底层开发的程序猿来说。
比如以下几个概念:移位、补码、逻辑运算、算数右移、逻辑右移等等……
3. 计算机进行小数运算时出错的原因
没有记录了……
2024.7.30,断断续续地终于把这本书,总的来说是一本好书,正如开头提到的这本书适合初级程序员。而我作为一个刚毕业的本科生,正符合他的定位,作者围绕一个程序开发运行的 demo 讲解了 CPU、数据存储、数据运算、内存、文件、操作系统等知识。
每一部分讲的都不够深入,但作为科普类的书籍,适用于闲暇时不费脑子的阅读。