《程序是怎样跑起来的》一书从计算机的内部结构开始讲起,以图配文的形式详细讲解了二进制、内存、数据压缩、源文件和可执行文件、操作系统和应用程序的关系、汇编语言、硬件控制方法等内容,目的是让读者了解从用户双击程序图标到程序开始运行之间到底发生了什么。同时专设了"如果是你,你会怎样介绍?"专栏,以小学生、老奶奶为对象讲解程序的运行原理,颇为有趣。本书图文并茂,通俗易懂,非常适合计算机爱好者及相关从业人员阅读。
日文版重印41次!
"计算机组成原理"图解趣味版
蹲马桶就能看懂的编程基础知识
本书适合
1. 菜鸟程序员入门进阶
2. 中级程序员查漏补缺
3. 高手程序员向家人(女友、老妈等)普及计算机知识
如何向小学生讲解CPU和二进制?
如何向中学生讲解内存和磁盘?
如何向女高中生讲解操作系统的原理?
如何向老奶奶说明显示器和电视的不同?
如果你没有思路,就应该读一读这本书。
以图配文,深入讲解编程基础知识
语言通俗,即使是文科生也能看得懂
特设"如果是你,你会怎么做?"专栏,生动有趣
矢泽久雄(作者)
YAZAWA股份有限公司董事长兼总经理。GrapeCity信息技术集团顾问。电脑作家之友会会长。
曾在某大型电子公司从事过电脑生产,在Software House做过程序员,现主要从事软件包的开发工作。工作之余笔耕不缀,从电路到编程语言均有涉及。代表作有《计算机是怎样跑起来的》《使用C语言学习程序设计的基础》《征服C++类和继承》等。自称软件艺人。
李逢俊(译者)
北京易网联信信息技术有限公司CEO。
哈尔滨工业大学硕士毕业后在日工作8年,曾在日本知名游戏公司担任移动互联网部门负责人,拥有丰富的移动游戏开发及运营经验。2011年回国创业,创建易网联信团队(www.easymobi.cn),致力于精品手机游戏的开发及运营。
第1章对程序员来说CPU是什么
1.1CPU的内部结构解析
1.2CPU是寄存器的集合体
1.3决定程序流程的程序计数器
1.4条件分支和循环机制
1.5函数的调用机制
1.6通过地址和索引实现数组
1.7CPU的处理其实很简单
第2章数据是用二进制数表示的
2.1用二进制数表示计算机信息的原因
2.2什么是二进制数
2.3移位运算和乘除运算的关系
2.4便于计算机处理的"补数"
2.5逻辑右移和算术右移的区别
2.6掌握逻辑运算的窍门
COLUMN如果是你,你会怎样介绍?——向小学生讲解CPU和二进制
第3章计算机进行小数运算时出错的原因
3.1将0.1累加100次也得不到10
3.2用二进制数表示小数
3.3计算机运算出错的原因
3.4什么是浮点数
3.5正则表达式和EXCESS系统
3.6在实际的程序中进行确认
3.7如何避免计算机计算出错
3.8二进制数和十六进制数
第4章熟练使用有棱有角的内存
4.1内存的物理机制很简单
4.2内存的逻辑模型是楼房
4.3简单的指针
4.4数组是高效使用内存的基础
4.5栈、队列以及环形缓冲区
4.6链表使元素的追加和删除更容易
4.7二叉查找树使数据搜索更有效
第5章内存和磁盘的亲密关系
5.1不读入内存就无法运行
5.2磁盘缓存加快了磁盘访问速度
5.3虚拟内存把磁盘作为部分内存来使用
5.4节约内存的编程方法
5.5磁盘的物理结构
第6章亲自尝试压缩数据
6.1文件以字节为单位保存
6.2RLE算法的机制
6.3RLE算法的缺点
6.4通过莫尔斯编码来看哈夫曼算法的基础
6.5用二叉树实现哈夫曼编码
6.6哈夫曼算法能够大幅提升压缩比率
6.7可逆压缩和非可逆压缩
COLUMN如果是你,你会怎样介绍?——向沉迷游戏的中学生讲解内存和磁盘
第7章程序是在何种环境中运行的
7.1运行环境=操作系统+硬件
7.2Windows克服了CPU以外的硬件差异
7.3不同操作系统的API不同
7.4FreeBSDPort帮你轻松使用源代码
7.5利用虚拟机获得其他操作系统环境
7.6提供相同运行环境的Java虚拟机
7.7BIOS和引导
第8章从源文件到可执行文件
8.1计算机只能运行本地代码
8.2本地代码的内容
8.3编译器负责转换源代码
8.4仅靠编译是无法得到可执行文件的
8.5启动及库文件
8.6DLL文件及导入库
8.7可执行文件运行时的必要条件
8.8程序加载时会生成栈和堆
8.9有点难度的Q&A
第9章操作系统和应用的关系
9.1操作系统功能的历史
9.2要意识到操作系统的存在
9.3系统调用和高级编程语言的移植性
9.4操作系统和高级编程语言使硬件抽象化
9.5Windows操作系统的特征
COLUMN如果是你,你会怎样介绍?——向超喜欢手机的女高中生讲解操作系统的作用
第10章通过汇编语言了解程序的实际构成
10.1汇编语言和本地代码是一一对应的
10.2通过编译器输出汇编语言的源代码
10.3不会转换成本地代码的伪指令
10.4汇编语言语法是"操作码+操作数"
10.5最常用的mov指令
10.6对栈进行push和pop
10.7函数调用机制
10.8函数内部的处理
10.9始终确保全局变量用的内存空间
10.10临时确保局部变量用的内存空间
10.11循环处理的实现方法
10.12条件分支的实现方法
10.13了解程序运行方式的必要性
第11章硬件控制方法
11.1应用和硬件无关?
11.2支撑硬件输入输出的IN指令和OUT指令
11.3编写测试用的输入输出程序
11.4外围设备的中断请求
11.5用中断来实现实时处理
11.6DMA可以实现短时间内传送大量数据
11.7文字及图片的显示机制
COLUMN如果是你,你会怎样介绍?——向邻居老奶奶说明显示器和电视机的不同
第12章让计算机"思考"
12.1作为"工具"的程序和为了"思考"的程序
12.2用程序来表示人类的思考方式
12.3用程序来表示人类的思考习惯
12.4程序生成随机数的方法
12.5活用记忆功能以达到更接近人类的判断
12.6用程序来表示人类的思考方式
COLUMN如果是你,你会怎样介绍?——向常光临的酒馆老板讲解计算机的思考机制
附录让我们开始C语言之旅
C语言的特点
变量和函数
数据类型
标准函数库
函数调用
局部变量和全局变量
数组和循环
其他语法结构
通俗易懂 不错
简单易懂。。
很好,很不错呀!
很好的一本计算机科普读物
还不错,刚刚收到货,挺好的
看着不错,反正还行
很好!很有帮助!非常值得学习!
旧书就敢送?书又脏又烂,关键别的书都好好的,什么意思
内容好,排版好,质量好
根据内容看,是很值得的亲友扫盲书,但是印刷质量真是差,比如图中这个,还有就是每页的角的页数的蓝色圆圈,总是会出现白点。另外就是保存很差,书封面有类似于胶的东西,就是看着很脏,并且是塑封里面...
好评好评好评好评好评好评好评好评好评
好书,浅显易懂
实用性强,,
本来是要给5星的,但是快递没按指定时间送货,导致不必要的麻烦。
写的太简单了,虽然简单,但是确实一点能力也没看出来
真的很不错,为初学编程者能更好理解编程语言打下基础。
由内到外,通俗易懂,思路清晰啦,看完了再总结一下?
好书!即便对电脑一无所知的人也可以很快普及很实用的电脑常识,读完这本书后按照各章线索一一去拓展堪比科班出身
这本书帮助我深入理解了程序运行的过程,适合有一定基础的人看。
对于了解程序的运行原理很有帮助,感觉买到了,好评~
不错,内容详细丰富,书用的编程语言用的是C++,个人喜欢用java,部分内容有点难。
已看完,正版图书,很不错的哦。省的去书店买,发货很快。入门强烈推荐。
这本书真的不错!内容比一般的专业书有趣,推荐it同行看看!
本来想买计算机是怎么跑起来的呢,不过也不错。
说实话发货很慢,前一天下的单,过一天才发货,到了,快递告诉我,说物品袋破损直接给我的书,没有包装连包书的透明塑料袋,都没有
应该挺好的、之前看的计算机是怎么跑起来的就很不错
和计算机怎么跑起来一起买的,说真的这个作者真的厉害,不可多得的好书
书写挺好,适合计算机刚入门的新手,能够对程序运行有几本了解
另外的一本计算机是怎么跑起来的,计算机现在的潮流技术更新太快,打好基本功才好
看了《计算机是怎么跑起来的》,再看这本,互有补充,很适合初学者。
运气不太好,封面皱掉了,将就吧,内容应该不错的。买了两本,是看计算机先还是程序先好些呢