北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

思考问题

1、“数”在计算机中是如何表示的?

2、逻辑上“数”是怎么运算的?

3、物理上“数”的计算是怎么实现的?

从图灵机计算问题得出:

1、字母表中的符号越多(几进制),读入移动次数减少,但程序数据就越多

2、字母表中的符号越少,程序量会减少,但读入移动次数就越多

字母表与状态

1、字母表中符号的最优数量,可能是欧拉常数e(2.7182)取整为3

2、与具有两个电子状态的电子元件相比,具有三个状态的电子元件在制造上更困难,可靠性更低

十进制、二进制、十六进制

1、从右向左4位二进制是1位16进制,3位二进制是1未8进制数

2、十进制转化为二进制:除以2的上(取整)自后向前以此将余数加以汇集就是二进制

123--123/2=61 61/2=30 30/2=15----1101111----对应的二进制1111011

问题1答案:二进制表示

布尔代数:

基本逻辑运算:与、或、非

符合逻辑运算:同或、异或、与非、或非、与或非

与:都真为真北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

或:都假方为为假————F=A+B

非:北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

异或:相同为0假,相异为1真北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

同或:相同为真,相异为假北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

加法的运算:本位异或,进位与运算:不考虑进位--下面半加器

北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

有进位的计算器--全加器--串联半加器

北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

问题二答案:计算方法--布尔代数

问题三答案:布尔运算如何实现--电路

小结:

因为

  1、参与运算的数,可以转化为二进制数

  2、二进制数运算,可以运用基本的布尔运算实现

  3、基本的布尔运算,都可以由电路实现

所以电路能算数--

题外篇:计算机的发展及分类

早期的计算机:手工计算器、机械计算器、计算机原型

现代计算机:电子管、晶体管、集成电路、超大规模集成电路

未来的发展:

过往是摩尔定律-单位面积上晶体管的数量每18个月就翻翻

现在的问题:

1、散热:晶体管密度和速度的增加,芯片会消耗更多电力,产生更多的热能

2、晶体管大小限制--不能无限变小--原子 任何纳米管和传统工艺都对这种情况没有办法

3、电泄露:晶体管体积的不断缩小-电泄露-影响计算能力

量子计算机:利用量子体系实现计算

北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

上一篇:JavaScript闭包深入解析


下一篇:关于MonoDevelop自动缩进的设置