计算机要素--第二章 布尔运算
计算机系统要素,从零开始构建现代计算机(nand2tetris) 如果完成了本书所有的项目 你将会获得以下成就 构建出一台计算机(在模拟器上运行) 实现一门语言和相应的语言标准库 实现一个简单的编译器 而且,这本书的门槛非常低,只要你能熟练运用一门编程语言即可。本课程综合了数字电路,计算机组成原理,计算机体系架构,操作系统,编译原理,数据结构等的主要内容,搭建了计算机平台的构建的框架,并未深入细节,如果需要了解细节,可由本书作为主线,逐步完善的知识体系。 项目地址Github 本章重点内容 布尔运算 详细内容 在刚学C语言的时候,我一直很好奇,人类是怎样想出编程语言的?既然人类想出了编程语言,那么为什么编程语言会是现在的这个样子,比如指令为什么要那样设计?即便是人类能够将自然语言用0,1机器码来表示,机器语言的存在和人类将自然语言翻译成0,1机器码是一种巧合,还是具有一定的关系呢?这种机器语言是像牛顿定律一样先天存在呢,还是人类根据某些规则设计的呢?学完这一章,打开了我的疑惑。 我想这个过程应该是这样的:“对于机器而言,0,1机器码只不过是人类给的名字,机器码的本体是高低电压,在机器上加上电压可以使机器工作。这应该就是编程最初的模样,也就是给机器加电压使之工作。慢慢的人类设计出一种称为ALU的东西,利用一定的逻辑可以进行运算,这种逻辑就是布尔逻辑。当然,ALU需要输入很多电压