编码 - Charles Petzold

编码

Charles Petzold

出版时间

2012-09-30

ISBN

9787121181184

评分

★★★★★

标签

编程

书籍介绍

本书是一本讲述计算机工作原理的书。不过,你千万不要因为“工作原理”之类的字眼就武断地认为,它是晦涩而难懂的。作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述得通俗易懂,你丝毫不会感到枯燥和生硬。更重要的是,你会因此而获得对计算机工作原理较深刻的理解。这种理解不是抽象层面上的,而是具有一定深度的,这种深度甚至不逊于“电气工程师”和“程序员”的理解。

不管你是计算机高手,还是对这个神奇的机器充满敬畏之心的菜鸟,都不妨翻阅一下本书,读一读大师的经典作品,必然会有收获。

AI导读
核心看点
  • 从手电筒通信到微处理器,层层递进揭示计算机底层原理。
  • 以盲文、电报等历史案例,通俗讲解二进制与逻辑门概念。
  • 打通硬件电路与软件编程的认知壁垒,构建完整计算机图景。
适合谁读
  • 对计算机工作原理充满好奇,渴望打破黑箱的零基础读者。
  • 计算机专业学生,需补全数电、汇编等底层知识体系的学习者。
  • 希望深入理解代码如何转化为电信号的程序员与科技爱好者。
读前提醒
  • 前半部分轻松有趣,后半部分涉及电路与汇编,难度陡增。
  • 不必纠结于所有工程细节,重点把握从编码到计算的演进逻辑。
  • 建议结合动手实践或模拟软件,辅助理解抽象的逻辑电路概念。
读者共识
  • 被誉为计算机科普神作,用讲故事的方式让枯燥原理变得生动。
  • 前几章通俗易懂,中后期专业术语增多,部分读者反映有阅读门槛。
  • 虽非专业教材,但能极大提升对计算机体系结构的宏观理解深度。

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "布莱叶编码中,普通书写语言的每个字符—具体而言如数字、字母和标点符号—都被编码成局限在2 ×3 小格中一个或多个凸起的点。 在这里吸引我们的问题是:点是二元的。一个特定的点不是凸起的就是平滑的"
  • "从存储器中取出指令的过程叫作取指令。在上述加法机中,每个指令长 3个字节。因每次只能从存储器中取出一个字节,因此每次取指令需要 3个时钟周期。此外,一个完整的指令周期需要四个时钟周期。所有这些变化使得控制信号变得更为复杂。"
  • "注意,为了使上述加法机更为有用,我们已经放慢了它的速度。利用同样的振荡器,它进行数字加法运算的速度只是本章列出的第一个自动加法器的 1/4 。这符合一个叫作 TANSTAAFL的工程原理, TANSTAAFL的意思是“世界上没有免费的午餐” 。通常,机器在某一方面好一点儿,在另一些方面必然会差一些。"
  • "我们人类的创造力与勤奋精神常常让我感叹不已,但人类的本性却是相当懒惰的。举个简单又常见的例子,我们总是不情愿工作。我们对工作的反感是如此的强烈——当然人类也很聪明——以至于情愿花大量的时间去设计并制造一些设备,哪怕这些设备只能将工作缩减几分钟。"
  • "简单且短促的编码,被分配给字母表中使用频率较高的字母,例如E和T。 三个点、三个划,再加三个点就表示SOS,即国际求救信号。SOS不是一个缩写,而是一个易于记忆的莫尔斯编码序列。 二战期间,英国广播公司的一些无线电广播以贝多芬第五交响曲的片段来作为节目的前奏——BAH, BAH, BAH, BAHMMMMM(即...-),而贝多芬绝对不会想到他所谱写的这段乐曲可以表示为莫尔斯编码的V,即胜利(Victory)之意。 莫尔斯编码的一个缺点是,它没有区分大写字母和小写字母。 事实上,两个不同的食物,只要经过适当的组合,就可以表示所有的类型的信息,这的确是千真万确的。"
  • "• 印度-阿拉伯数字系统是和位置相关的,也就是说,一个数字依据位置的不同代表不同的数量。数字的位置和数字的大小一样,都是很重要的。 • 几乎所有早期的数字系统都有一个阿拉伯数字所没有的东西,那就是用来表示数字1 0的 一个专门的符号。 • 另一方面,几乎所有早期的数字系统都缺少一个阿拉伯数字中有的,而且事实证明是比 代表数字1 0的符号重要得多的符号,那就是零。"
  • "与位置相关的记数系统的优点不在于它多么好用,而在于当它用在不是十进制的系统中时,也一样的好用"
  • "命令处理程序将会显示从内存地址 1030h开始的存放在内存中的 11个字节(之所以为 11,是因为在 40个字符宽的显示器上,在与上面命令同一行的地址后面能显示的字符数为 11) 。"
作者简介
Charles Petzold 是 Windows 编程界的一位大师,当今世界顶级技术作家。1994年5月,Petzold 作为仅有的七个人之一(并且是唯一的作家),被《视窗杂志》和 Microsoft 公司联合授予 Windows Pioneer 奖,以表彰他对 Microsoft Windows 所做出的贡献。Petzold 从1984年开始编写个人计算机程序,从1985年开始编写 Microsoft Windows 程序。1986年他在 Microsoft Systems Journal 的12月号上发表了第一篇关于 Windows 程序设计的论文。从1986年到l995年,Petzold 为 PC Magazine 撰写专栏文章,向读者介绍 Windows和OS/2 程序设计等方面的知识。直到今天他依然保持着 WindowsGDl 程序设计首席技术作家的地位。其大作 Programming Windows 是尽人皆知的 Windows 编程经典,曾深深地影Ⅱ向过一代程序员,该书目前已出至第5版。
目录
推荐序
译者序
作者序
1 至亲密友
2 编码与组合

显示全部
用户评论
这本书,写的非常好,从为两个孩子设计一套利用手电筒聊天的协议开始,盲文,莫尔斯电码,01二进制,布尔逻辑,继电器电路一直扩展到CPU,储存电路到图形化操作系统,跟着这本书看整个计算机的发展史感觉是那么自然。说真的,从他准备利用现成的加法器设计一套自动相加的电路到汇编语言的初现,汇编就这么自然而然的来到了我的面前,我心里的震撼啊。这才是科普,这才是教育。跟这本书比起来,大学里的那本《计算机组成原理》,简直就是渣,与之相对,靠看这本书考上研究生的人,真的是人类天才,确实没法和他们比。这么恶心的书都能学下去,我对他们的崇拜之情啊,如同滔滔江水,连绵不绝,又如黄河泛滥,一发而不可收拾……
读本科的时候没看到这本书真是遗憾。
第十七章开始讲得不如前面详细。
对于专业人士不如看《深入理解计算机系统》,对于普通人后面讲电路的有点枯燥,讲软件的有点少。
可能对于专业人士来说是很初级的书,但对于我来说简直就是编程入门。从编码的发展,引出逻辑门,以及构建在逻辑门上的计算机,以及机器码、汇编语言、高级语言这样一层一层,终于对编程思想有点感觉了
说是入门,那我应该入了一半吧,还有一只脚在外面,后面看的很吃力,一知半解的。
还是推荐CC的计算机速成课,B站就有汉化
2.5
2022.1.31 除夕阅毕。强烈推荐给每一位EECSer!
知识点看起来还是很眼熟。怎么说呢?就是对于有相关专业知识的人来说,这本书讲的比较浅显和通俗化,不是那么有学术性。但是,对于业余的人估计看起来还是会有一点难度,需要认真跟随作者思路去思考。 略略过了下,书还是不错的,有时间了再复习一遍吧。
Z-Library
收藏