计算机是怎样跑起来的

矢泽久雄
本书倡导在计算机迅速发展、技术不断革新的今天,回归到计算机的基础知识上。通过探究计算机的本质,提升工程师对计算机的兴趣,在面对复杂的最新技术时,能够迅速掌握其要点并灵活运用。本书以图配文,以计算机的三大原则为开端、相继介绍了计算机的结构、手工汇编、程序流程、算法、数据结构、面向对象编程、数据库、TCP/IP 网络、数据加密、XML、计算机系统开发以及SE 的相关知识。图文并茂,通俗易懂,非常适合计算机爱好者和相关从业人员阅读。
煎蛋蛋

2023的第12本书 适合入行小白看,其实也有一定的门槛 1【算法】:以人类可以理解的方式计算或解决问题的步骤。 算法:被明确定义的有限个规则的集合,用于根据有限的步骤解决问题 2.【程序】:以计算机可以理解的语言编写;指令和数据的集合 把指令和作为指令操作对象的数据排列起来就形成了程序 程序是函数和变量的集合(C语言) 和算法关系最紧密的是 3.【数据结构】,即便于算法操作的组织数据的方法。 作为处理对象的数据的排列方式 〖一切数据结构的基础都是数组〗 4.【硬件】如:主机、显示屏、键盘 5.【软件】:计算机所执行的程序,即指令和数据;程序的基础 6.【编码】:通常将为了便于计算机处理而经过数字化处理的信息 7.【指令】:控制计算机进行输入、运算、输出的命令 8.【编译】:把用C语言等编程语言编写的文件(源文件)转换成用机器语言(原生代码)编写的文件 9.【exe】全称executable file ,译作可执行文件,即机器可执行文件,即机器语言。 10.【XML】XML(Extensible Markup Language),中文为可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。 11.【时钟信号】由内含晶振的、被称作时钟发生器的元件发出的滴答滴答的电信号。 12.CPU是IC的一种 cpu是硬件, 无非就是一些电路元件和开关的组合。 编程的本质, 就是在不同时刻拨弄那些开关,形成不同的逻辑值。 显然,我们不能用手去拨弄那些开关, 而是采取先把开关存起来, 然后输入到cpu中。 13.【端口port】I/O与外部设备之间输入输出数据的场所。类似于港口 14.【地址】标识内存或I/O中存储单元的数字 15.【寄存器】 16.【顺序执行】顺序执行是按照指令记录在内存中的先后顺序依次执行的一种流程 程序基本上是从内存中的低地址(编号较小的地址)开始,向着高地址(编号较大的地址)流下去的 17.【循环】在程序的特定范围内反复执行若干次的一种流程 18.【条件分支】根据若干个条件的成立与否,在程序的流程中产生若干个分支的一种流程 【无条件分支】 19.【编程语言】编程语言只不过是将流程图上的流程用文字(程序)重现出来罢了 各种编程语言的差异正如一种自然语言中各地方言的差异一样 20.【程序块】程序中代码的集合 程序中要被循环处理的部分,就是一种程序块 21.【算法(Algorithm)】就是解决既定问题的步骤 只要理清在现实世界解决问题的步骤,再结合计算机的特性,就一定能想出算法 22.【哨兵】「哨兵」指的是一种含有特殊值的数据,可用于标识数据的结尾等〖悬崖🍎游戏〗 字符串的末尾用0表示,链表的末尾用-1表示,像这种特殊的数据就是哨兵 23.计算机的特性之一:所有的信息都可以用数字表示 24.【变量】变量是数据的容器。 变量中所存储的数据是可以改变的。变量的实质是按照变量所存储数据的大小被分配到的一块内存空间。 变量是程序中数据存储的最小单位,每个变量都对应着一块物理上的内存空间 变量是数据的容器 变量也是保存数据的盒子,变量在内存中保存的内存地址,数据通过内存地址指向数据 变量的定义:包含两层含义 1)内存分配:告诉编译器,要为该变量在内存中预留存储空间。存储空间分配是在程序编译的时候由编译器来实现的。 2)操作定义:变量的数据类型同时限定了针对该变量可进行或者开展的操作,基于编程语言的语法,每种类型变量都有一组预定义的合法操作集。 25.【数组】数组:把若干个数据沿直线排列起来的数据结构 实质:连续分配的一块特定大小的内存空间 作用:可以高效地处理大量的数据 26.【栈】 亦称“堆栈”。一种具有特定结构,用以保存数据(或地址)的存储区。是数据结构中的一种线性表。其一端是固定的,称“栈底”;另一端是浮动的,称“栈顶”。栈的操作根据后进先出的原则,所有信息的存入和取出只能在栈顶进行,最后存入的信息最先取出,而最先存入的信息将最后取出。在计算机软件技术中使用广泛。 栈中数据的存取形式是LIFO(Last In First Out,后进先出) 27.【队列】 按照先进先出原则处理信息的一种数据结构。信息只能在始端删除,且只能在终端插入。其原理和人们日常生活中的排队相似。 队列中数据的存取形式是FIFO(First In First Out,先进先出) 28.【数组】 数组是数据结构的基础,之所以这么说是因为数组反映了内存的物理结构本身 29【循环计数器(Loop Counter)】通常把像变量i这样的用于记录循环次数的变量 30.【OOP】是Object Oriented Programming(面向对象编程)的缩略语。 面向对象编程(OOP, Object Oriented Programming)是一种编写程序的方法,旨在提升开发大型程序的效率,使程序易于维护 C++在C语言的基础上增加了对OOP的支持 对象(Object)是表示事物的抽象名词 31.【++】是表示自增(每次只将变量的值增加1)的C语言运算符。之所以被命名为C++,是因为C++在C语言的基础上增加了面向对象的机制这一点。另外,将C++进一步改良的编程语言就是Java和C#语言。 32.【类】即把程序中有关联的函数和变量汇集到一起编成组。这里的组就是类。 通常把汇集到类中的函数和变量统称为类的“成员”(Member) 类是对象的定义,而对象是类的实例(Instance) C语言是通过把大量的变量(数据)和函数(指令)组装一起成为程序;而面向对象编程语言是通过把大量的类组装到一起成为程序,类又是由“相关”的函数和变量组装的 33.【接口(Interface)】对于类的使用者而言“类看起来是什么样子的”这种关于规范的描述通常被称为“接口” 34.【封装】即将函数和变量放入黑盒,使其对外界不可见 35.【建模】在面向对象编程中,可以通过“这个是由什么样的对象构成的呢?”这样的观点来分析即将转换成程序的现实世界。这种分析过程叫作“建模” 36.【组建化】将可看作是由若干种对象构成的集合的现实世界分割成组件 37.【UML】(Unified Modeling Language,统一建模语言) 38.【过程型语言】非面向对象语言 39.【面向对象编程的三个基本特性】 继承”(Inheritance) 继承指的是通过继承已存在的类所拥有的成员而生成新的类 “封装”(Encapsulation) 封装指的是在类所拥有的成员中,隐藏掉那些没有必要展现给该类调用者的成员 “多态”(Polymorphism,也称为多样性或多义性) 多态指的是针对同一种消息,不同的对象可以进行不同的操作。 40.【类的三种使用方法】 1)仅调用类所持有的个别成员(函数和变量); 2)在类的定义中包含其他的类(这种方法被称作组合); 3)通过继承已存在的类定义出新的类。 41.【面向对象编程】就是通过把组件拼装到一起进行编程的方法 42.【DBMS = Database Management System =数据库管理系统】 市面上的DBMS有SQL Server、Oracle、DB2,MySQL等。无论是哪种DBMS都可以用基本相同的SQL语句操作。 43.【键】:用于设定表和表之间的关系(Relationship)的字段 为了在表间建立关系,就必须加入能够反映表与表之间关系的字段,为此所添加的新字段就被称为键(Key) 44.【主键】:表上每个值都能够唯一标识一条记录的字段(一般为id) 主键既可以只由一个字段充当,也可以将多个字段组合在一起形成复合主键 45.【外键】:在表中添加的、其他表主键的字段 46.【索引】:提升数据检索速度的机制,与键无关 索引仅仅是提升数据检索和排序速度的内部机制 索引表是一种数据结构,存储着字段的值以及字段所对应记录的位置 列也被称为字段(Field),行也被称为记录(Record) 47.【SQL】 Structured Query Language,结构化查询语言 SQL语言通常不需要定义变量或者考虑程序的执行流程 在SQL语句的末尾放置一个分号表示语句的结束 CRUD中的C、U、D分别对应着SQL语言中的INSERT(插入)、UPDATE(更新)、DELETE(删除)语句 1. BEGIN TRANSACTION(开启事务)语句,用于通知DBMS开启事务; 2. COMMIT(提交事务)语句,用于通知DBMS提交事务; 3. ROLL BACK(事务回滚)语句,用于在事务进行中发生问题时,把数据库中的数据恢复到事务开始前的状态 48.【数据库】数据(Data)的基地(Base) 49.【DBMS】database management 数据库系统的构成要素包括“数据文件”“DBMS”“应用程序”三部分。 50.【规范化】将一张大表分割成多张小表,然后再在小表之间建立关系,以此来达到整理数据库结构的目的 规范化的要点是在一个数据库中要避免重复存储相同的数据 51.【用户界面】 在设计系统时,请诸位记住一个重要的顺序:优先设计数据库,然后再设计用户界面。 52.【CRUD】对数据库进行的操作的种类通常称为CRUD 记录的插入(CREATE) 获取(REFER) 更新(UPDATE) 删除(DELETE) 53.【事务】由若干条SQL语句构成,表示对数据库一系列相关操作的集合。 54.【MAC地址】Media Access Control Address),直译为媒体存取控制位址,也称为局域网地址(LAN Address),MAC位址,以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的位址。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址 。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址 55.服务器(Server):服务的提供者 56.客户端(Client):服务的利用者 在服务器上运行的程序为客户端提供服务。 57.集线器(Hub):负责把各台计算机的网线相互连接在一起的集线设备。 58.路由器(Router):负责把公司内的网络和互联网连接起来的设备。 1)负责将LAN连接到WAN上 2)路由器的一端会先连接到互联网服务提供商的路由器上。服务提供商(Provider)又继续将它们的路由器连接到其他路由器上,通过这种方式最终接入到互联网的主干线缆上。 59.【命令提示符/MS-DOS提示符】 60.主机(Host):设定了IP地址的计算机 路由器也算是计算机的一种,所以它们也有IP地址。 在TCP/IP网络中,传输的数据都会携带MAC地址和IP地址两个地址。 简单理解,TCP、IP 是两种不同的协议,IP协议用于找到目标地址,TCP协议用于建立可靠传输数据的连接 IP地址是一个32 bits(4 bytes)的整数。IP地址的整数是0.0.0.0~255.255.255.255,共计4294967296个。 网络地址:通常为IP地址中表示分组(即LAN)的部分,即公司(第一段~第三段) 主机地址:通常为各台计算机(即主机)的部分,即公司内部的计算机 子网掩码的作用:标识出在32比特的IP地址中的网络地址和主机地址。 1)值为1的那些位对应着IP地址中的网络地址 2)值为0的那些位则对应着主机地址 4个二进制数可以表示的范围是从0000到1111,共16个数。因为最开始的0000和最后的1111具有特殊的用途,所以最多可以配置14台计算机,主机地址范围是从0001到1110。但这其中又有一台路由器,所以实际上最多只能放置13台计算机 61.查看电脑IP地址 【win】+【R】 输入【cmd】 输入【ipconfig /all】 62.【动态主机配置协议(Dynamic Host Configuration Protocol)】,简称DHCP,是一个应用于局域网的网络协议,该协议允许服务器向客户端动态分配IP地址和配置信息。 该协议位于OSI模型的应用层,使用UDP协议工作,主要有两个用途,一个是用于内部网或网络服务供应商自动分配IP地址给用户,另一个是用于内部网管理员作为对所有电脑作中央管理的手段。 63.【网关】连接网络内部和外网(互联网)的通道,路由器的地址就是网关地址。 一般这个地址设置为子网掩码能分配ip地址的那个最大的ip 。 如 子网掩码为255.255.255.0 , 那这个网关地址就可以设置为 255.255.255.254 64.【路由器】就是决定数据传输路径的设备 路由器的工作原理就是查看附加到数据上的IP地址中的网络地址部分 通常把这种数据经过路由器转发的过程称为“路由”(Routing) 65.通常把这种由主机名和域名组合起来形成的名字称作FQDN(Fully Qualified Domain Name,完整限定域名) 66.【域名解析】只需要使用FQDN, DNS服务器就可以自动地把它解析为IP地址的过程 67.用于实现由IP地址到MAC地址的转换,这种功能被称作ARP(Address Resolution Protocol,地址解析协议) 68.【URL】统一资源定位符(Uniform Resource Locator,缩写为URL),又叫做网页地址,是互联网上标准的资源的地址(Address)。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它 69.文本数据可以由各种各样的字符构成。 1)字符编码:每个字符所对应的数字 字符集:定义了应该把哪个编码分配给哪个字符的字符编码体系;分为ASCII字符集、JIS字符集、Shift-JIS字符集,EUC字符集、Unicode字符集等若干种。 2)明文:通常指未经加密的文本数据;在网络传输中有被盗取滥用的危险 3)加密的实质:字符编码的变换,即将构成明文的每个字符的编码分别变换成其他的数值。 4)解密:通常指把密文还原成明文的过程(即解读密码的过程) 70.【HTML】是用于编写网页的标记语言 71.【XML】是用于定义任意标记语言的元语言 72.DOM(Document Object Model,文档对象模型) 73.标记:通过添加标签为数据赋予意义的行为 74.标记语言:为这种给数据赋予意义的行为定义规则的语言 可使用的标签的种类决定了标记语言的规范 75.网页:是指使用HTML规定好的标签,将字符串和图片显示在Web浏览器上的页面。 由于HTML中规定的各种标签只能用来指定信息的呈现样式,而不能表示信息的含义。 xml应运而生:如果要适用于所有行业,HTML的标签是不够用的,于是就发明出了XML这种元语言。 HTML的用途:仅限于信息的可视化了,自始至终都用于展现网页。 XML的主要用途:为在互联网上交换的信息赋予意义。 HTML是给人看的,XML是给计算机看的。 HTML标签主要关注的是数据的呈现,而XML关注的是数据的描述和含义 76.【SE】是System Engineer(系统工程师)的缩略语 在计算机系统的开发过程中,SE是参与所有开发阶段的工程师 77.【IT】是Information Technology(信息技术)的缩写,也许翻译成“充分运用信息的技术”会更加容易理解。

Yoona_佳琪

【计算机是怎么跑起来的】 一直是关注软件方面比较多,抱着从硬件角度梳理一下思路的愿望翻阅此书,结果被前言的“今天,计算机正在以惊人的速度发展变化着,变得越来越复杂,而这期间产生了许多技术,但是人们并没有过多的时间去深入学习每一门技术,这就是问题的根源。稍微看了看技术手册,只学到了表层的使用方法,觉得自己“反正已经达到目的了”,这就是现状”直接拉进坑��现在这么多《21天精通xx》,到头来还是给我国人对于效率追逐下的急功近利。 虽然此书写于2003年,作为日新月异的IT业,很多描述确实过时了,但是我赞同作者的一点就是:做学问有三点1⃣️知识范围2⃣️基础中的基础知识3⃣️目标。层出叠现的新兴技术是学问的“应用层”,而经过这么多年还没有改变的才是“基础层”,这才是根基,而我觉得这本书讲的如是也,而这也是此书称为经典的缘由。 下面是个人笔记精华和章节核心要点的梳理: 第1章 “计算机的三大原则”。 原则1:计算机只能够做输入、运算、输出三种操作 原则2:程序是指令和数据的集合 原则3:计算机有自己的处理方法(对计算机来说什么都是数字) 硬件由大量IC(集成电路)组成;函数(方法、语句、子例程(无返回值)、子程序(有返回值));•Net(xml➕soap);面向组件编程的方法是通过将组件(程序的零件)组装到一起完成程序;面向对象编程的方法是先如实地对现实世界的业务建模,之后再把模型搬到程序中; 第二章《微机原理》 cpu、内存、i/o、电源��、电路、时钟发生器/信号��clk、 数据/地址总线、控制引脚、外部设备(DMA直接存储器访问控制) 第三章《汇编语言》 机器语言 汇编语言 cpu寄存器(a累加器f标志寄存器 bc de hl ix iy sp栈顶指针 pc程序指针 程序就是依靠不断变化的PC寄存器Program Counter的值运行起来的) i/o寄存器 (「0」端口a数据寄存器、「1」端口b数据寄存器、「2」端口a控制寄存器、「3」端口b控制寄存器)207、255、0 在内存中,每个地址的功能都一样,既可用于存储指令又可用于存储数据。 而I/O则不同,地址编号不同(即寄存器的类型不同),功能也就不同 指令的分类,按功能这些指令可以分成运算、与内存的输入输出和与I/O的输入输出三类 机器语言=地址+汇编语言 根据CPU种类的不同,有的CPU使用大端序,有的CPU使用小端序(将数据由高位到低位顺序地存储到内存的存储顺序则叫作“大端序”(Big Endian)) JP LOOP 跳转指令 第四章 程序流程 三种:顺序、条件分支、循环�� 特殊:中断处理(特殊条件分支)、事务驱动 流程图、 在这些高级语言中,程序员使用“程序块”表示循环而不是跳转指令 根据比较操作的结果,跳转到之前处理过的步骤就是循环;跳转到之后尚未处理的步骤就是条件分支 所谓结构化程序设计就是“为了把程序编写得具备结构性,仅使用顺序执行、条件分支和循环表示程序的流程即可,而不再使用跳转指令” 作为计算机硬件上的行为,无论是条件分支还是循环都必须使用跳转指令实现 中断处理:以硬件形式连接到CPU上的I/O模块会发出中断请求信号,CPU根据该信号执行相应的中断处理程序。在诸位使用的个人计算机上,中断请求信号是由连接到周边设备上的I/O模块发出的 事务驱动:用事件驱动的方式编写那些工作在GUI(Graphical User Inteface,图形用户界面)环境中的应用程序,事件驱动是一种适用于GUI环境的编程风格,在这种环境中用户可以通过鼠标和键盘来操作应用程序 顺序:CPU中的PC寄存器的值会自动更新 条件分支和循环:在高级语言中用程序块表示,在机器语言和汇编语言中用跳转指令表示,在硬件上是通过把PC寄存器的值设为要跳转到的目的地的内存地址来实现 第五章 算法 辗转相除法(最大公约数)、哨兵(一种含有特殊值的数据,可用于标识数据的结尾等)、最大公倍数:两数乘积除以最大公倍数 典型算法 算法:步骤明确有限、机械非直觉、终止结果明确 编程优化、计算机处理速度、数字规律、先在纸上写算法 第六章 《数据结构》 内存、变量、数组(ds基础)、典型ds:栈、队列、结构体、链表、二叉树 变量:是数据的容器,实质是按照变量所存储数据的大小被分配到的一块内存空间。 数组:可以高效地处理大量的数据。数组的实质是连续分配的一块特定大小的内存空间。 在内存中存储数据的空间是连续分布的 数组是数据结构的基础,只要使用数组就能通过程序实现各种各样的算法以处理大量的数据。通常把像变量i这样的用于记录循环次数的变量称为循环计数器(Loop Counter)。数组之所以方便,就是因为可以把循环计数器的值与数组的索引对应起来使用。 二叉树多用于实现那些用于搜索数据的算法,比如“二分查找法”。比起只使用链表,使用二叉树能够更快地找到数据 第七章 面向对象 c++、java、c#(被命名为C++,是因为C++在C语言的基础上增加了面向对象的机制这一点。另外,将C++进一步改良的编程语言就是Java和C#语言) 面向对象编程通过把组件拼装到一起构建程序:可以说类就是程序的组件(Component)。面向对象编程的关键在于能否灵活地运用类 能够提升程序的开发效率和可维护性

林同学叫橘子酱

如果五颗星是满分我要给十颗星。 作为计算机专业的人,我都不好意思说这是我第一本从头看到尾的专业书。我翻过很多专业书,但是大部分都是看重点内容,或者是作为工具书参考。直到离开学校开始进入社会工作的时候,我才意识到自己欠缺太多基本功。如果不是因为老板分配的项目和硬件相关,我大概还沉迷于各种敲代码和机器学习的世界。 因为这第一个项目,让我意识到我必须把计算机最最最基本的、底层的东西学好,而不是今天冒出一个技术我去学,明天又冒出一个技术我再去学。现在世界变化的速度还有科技创新的速度,根本等不及人们去学好就又进入到下一个阶段,而我们过于追求学习新技术就会忘记了:基本功的打磨是需要时间的。每次新技术一出现,就有各种《XX21天速成》《XX一个月速成》,然后每次学完都感到十分满意:自己没有被这个世界落下。 这本书是2003年写的,16年过去了再看这本书,依旧有很多很多东西的内容让我觉得一点都不过时,而且是看完之后真的对计算机有了更透彻的理解。我很感谢作者能把描写计算机的书写的这么有趣,不是那种让我看了几页就想睡的专业书,我也要静下心来,好好地打磨自己的基本功。 我始终相信,那些让人赞叹不绝的能力,都是花了很多很多时间修炼出来的。 突然想起《卖油翁》里的那句话:无他,但手熟尔。

牛奶

强烈推荐《计算机是怎样跑起来的》 最开始以为这本书是基础,自认为基础还行,所以很草率的阅读了前几章。但是越往后读越让我惊叹,不论是编程、加密、还是内存、数据库等,它每一章的基础都讲的如此通俗易懂又直达本质,把我脑海里残缺的八股文记忆很好的串了起来,好多地方看完都有种豁然开朗的感觉。学习中很多常见但却从未留意过的点也一一帮我点到,比如说windows XP中的xp什么意思?CPU是什么的缩写?IT的含义是什么? 事件驱动和中断的区别?到底什么是算法? 什么是面向对象编程?它和面向过程的区别是什么?数据结构的根是结构是什么?Java和C++的关系是什么?加密算法的本质是什么? …… 虽然这本书深度略显欠缺,但有关计算机的点基本都有涉猎,也让人对其背后知识的兴趣更加浓厚,有了更多探索下去的欲望。这本书也很好的为第二本书《程序是怎样跑起来的》做了铺垫(因为有位80岁大爷在看完第二本书说看不懂,所以作者大大写了这一本)。在第二本书里,对CPU、计算机数据、内存、环境、系统等做了更深入的阐述。基本涵盖了80%的计算机组成原理的知识。有一些知识也让我耳目一新,原来计算机也会算不准,原来逻辑右移和算术右移有区别等等。如果还想更深入的了解,《穿越计算机的迷雾》这本书同样经典,从最基础的电知识讲起,手把手带你造一台加法器,也就是能够自动计算加法的计算机,在制造过程中,你会明白原来这就是晶体管,原来逻辑学和电学有如此紧密的关系,原来振荡器才是自动化的源头……里面有很多有趣的电学知识,不过有些知识没点硬件基础可能还不太好理解。

。。。

看书有点强迫症,硬是忍着看完了。网上推荐的挺多,我也不知道这本书的定位是啥,说是专业书吧远远不够,当做科普性书籍的话,好多地方给未涉及过的人看又太过复杂,普及面也有点窄了,有些内容像xml啥的也太老旧了些。总结一下,不太推荐阅读,本书更像是一本大杂烩,与书名也不太匹配,能耐得住看下去还是能学到一点的,但似乎没必要。

一川月白

作者的切入点较容易被读者接受,内容较合胃口。 讲解是从硬件—->软件—->算法—->数据结婚—->面向对象—->数据库—->网络—->计算机系统等,到其中的基础原理—->之间的联系—->大的学习方向—->自上而下—->循序渐进—->逐层渗透,像一幅整体的蓝图一样豁然开朗,有种从上帝视角看计算机的感觉。 是很合适入门的一本书,也可以作为专业整体性扫盲,但想深度学习是不够的,因为它是入门+画框,想填充的话还得是相关专业书籍。

牧云

作为硬件汇编专业出身的前全栈程序员,看到本书目录虽然也会眼前一亮,但正因为概念太多,导致每一章都非常浅,事实上把每本专业书都浓缩成了一两页,致命的是还谈不上深入浅出,就是纯粹把几十本书摘抄成一本书,对小白相当不友好,所以很多行业外的书友都在评价说获益匪浅,有点怀疑是不是学了个寂寞。 又想起大一公共课的谭浩强版本c语言设计,跟人教版的小学教材可谓一时瑜亮,所以你有时候真会觉得斗臭老九确有必要,所以为啥要学好英文呢,因为中文资料实在太烂了,直译的翻译本更烂,如果你还是想看本书的话,上帝会保佑你(摊手)

🍬Jammy

看完后我还是不能具体的明白计算机究竟是如何跑起来的,倒是真切的感受到了我的脑袋是如何跑不起来的。 小白可读,就是读完了依旧还是小白。

笑海星

本书讲述了一些计算机相关的知识,但是对于一般人来说还是有阅读门槛的。如果忽略掉一些专业的知识,只是了解一下计算机的运做过程还是可以的。 首先明确了计算机只包含输入,运算,输出的功能,计算机只处理0和1这两种数字,没有感性的判断,只能通过大量的计算来完成需要的功能,想要少计算一些,只能通过设计好的算法来实现。 计算机的硬件构成:CPU(central processing unit 处理器,对数据执行运算产并控制内存和I/O),内存(存储指令和数据),I/O(把键盘、鼠标、显示器等周边设备和主机连接,实现数据的输入和输出)。 计算机软件设计:软件是一个工作的执行过程。拿洗菜来打比方,你先需要水和菜,然后把菜放入水中,清洗干净,倒掉水,将菜放好。程序设计的话,先要定义水是什么样的,菜是什么样的。然后将放菜入水,清洗,倒水,放置菜。这个程序设计好了以后就像是一个自动流水线,只要将规定好的菜和水放在流水线入口,在出口就可以拿到洗好的菜。 而在软件设计中还有其它的一些知识,比如算法,数据结构,设计,数据存储,数据交流,数据加密,数据备份保护等等。这些都是为了让程序更加简单,高效,安全的运行。

呀 土豆

对初学计算机或想了解计算机的朋友阅读起来会有帮助。 想从这本书里获得什么?计算机的跑起来的原理吗?为什么PCB版上的硬件组成能够让我们使用那么多功能的软件? 小学的时候,我们学校给到了四年级的学生开设计算机课程,我依稀记得这门课程名叫做:计算机与信息技术。我们的计算机老师身高1米8,他戴着一副很有学问的眼镜一言一行都很文雅、沉着、冷静。那时计算机非常金贵,只要当天下雨就无法去机房上电脑课只能呆在教室里让我们自习,偶尔的他会向我们讲授理论知识。这门课上的所有内容到现在我依然记得,如计算机的组成部分、工作原理、网络以及编程、制作视频都是在这个时候学会了!也正是在这个时期培养了我对计算机的兴趣与热爱,我爱捣鼓计算机内的新东西、新事物、新功能都离不开这个时候课堂上的培养。但自己的计算机能力却依然没有进一步提升(迷茫),没有做出实质性的东西,对硬件更是不了解,所以我决定将计算机的基础知识(系统性的)补充起来,如:计算机网络、计算机组成原理、硬件(物理)、算法以及相关的数学知识(线性代数、离散数学等)。 这本书中所讲述的大部分内容我都已了解且在实际运用,不过【第2章 试着制造一台计算机吧】让我初步地看懂了计算机的电路图以及第3章的汇编语言。如果你是已有计算机的基础知识了解,这本书摘取自己未了解的部分好好读其它内容了了读读差不多。若你是计算机小白 / 新手,这本再适合不过。

小雨

我愿称之为我的年度最佳书之一,这本书很吸引我,有很多我一知半解的词语,通过这本书对一些计算机的概念,基础知识有了进一步的了解,前面讲计算机内部运行,看的有点吃力和枯燥,但坚持看下来了,因为这书是环环相扣的,中后部分全是我感兴趣的,看书过程整体感觉很愉快。强推。 1字节等于8比特 1千字节等于1024字节 1兆等于1024千字节 1G等于1024兆 1tb等于1024g 二进制系统中,每个0或1就是1个比特 字节是计算机存储信息的基本单位 字符编码有很多种,比如Unicode UTF8 gbk 等等

iHTC

这本书断断续续看了两年,今天终于看完了。 本书面向的读者众是IT小白和老人家等,对计算机门外汉。所以,文中并没有高深的数学或者物理的概念定义,还是通俗易懂的文理。 与作者的前一本书《程序是怎么跑起来的》相比,内容从程序,变成计算机,所以面向的内容,有更多的内容,写作起来也是更有难度,而作者把向写出来了! 当然书中有些内容,这20年前相比今天来说可能有些东西过旧了。但也不妨碍一本书是一本好书,书中作者的很多的思路,想法观点,还有对技术的热忱,都能够从文章中表露出来。对于现在的读者,我们可能对计算机的认识,至今20年计算机底层没有很大的变化,所以本书还是值得推荐看一看。 最后,读书不是为了通过考试或为读而读。本书我也写了很多的想法,很多的评论,如今在回看来,其实也是跟作者的思想的碰撞,也是跟大家的一个交流探讨的机会。如有错别请大家斟酌和指教,再此一一谢别,再见朋友们!🥳

闵文扬Wendy

看到这本书是因为一个70岁的非专业的老人给作者的来信所写的,觉得非常感动。这本书是《程序是怎样跑起来的》前传,作者从最底层开始讲述计算机最基础的原理,对于我这种非专业出身的人帮助很大。对于这种从最基础原理开始讲的且深入浅出的书很少,感谢作者,也推荐给大家。

戴同学

当看到书中谈到的计算机三原则,我的内心有一种震撼的感觉。因为以前认为计算机很复杂,要学很多东西。但是当作者说计算机都是围绕这三原则展开的,突然眼前一亮,终于弄懂之前一直搞不明白计算机为什么要这样设计的问题。除此之外,这本书还揭示底层思维。那就是眼前的庞然大物,可能它的核心就那么两三个。很多东西都是简单事物的叠加。

刘涛

挺好的一本入门书,让我重温了一遍从硬件到软件组成的计算机的方方面面,在看的过程中让我想起了在 286 上用 True Basic 完成的第一个程序「Hello,World!」,在 Turbo C 中编写看着是色块的图形界面和菜单,也模糊的想起好像用 8080 搭建过那么一个键盘控制的小系统,还烧了那么一段汇编进去,一晃就过去 20 多年了。 作为入门本书还是蛮好的一本书,有助于对计算机有一个基本的整体了解,当然要深入下去每一部分都因为发展产生了不少的变化,但基础性的东西依旧没太大变化,不妨将这些基础构成的总体当作概要框架图,通过实践中的对比获得精进。

暂时没有数据