计算机导论(IntroductiontoComputers)_第1页
计算机导论(IntroductiontoComputers)_第2页
计算机导论(IntroductiontoComputers)_第3页
计算机导论(IntroductiontoComputers)_第4页
计算机导论(IntroductiontoComputers)_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机导论(IntroductiontoComputers)计算机导论(IntroductiontoComputers)2l什么是计算与可计算?什么是计算与可计算?l二进制二进制计算机导论(IntroductiontoComputers)3计算机导论(IntroductiontoComputers)4l直观的计算:数的加减乘除;函数的微分、积分;微分直观的计算:数的加减乘除;函数的微分、积分;微分方程的求解;定理的证明推导;等等。方程的求解;定理的证明推导;等等。l计算的实质:从一个符号序列计算的实质:从一个符号序列 A(输入)(输入)得出另一个符号得出另一个符号序列序列 B(输出)(输出)。

2、l计算的例子:计算的例子:lA:11+1(由由1、1、+、1这四个符号组成),这四个符号组成),B:12(由由1、2这两个符号组成)。从这两个符号组成)。从 11+1 得出得出 12:十进制:十进制加法加法。lA:11+1,B:100。从。从 11+1 得出得出 100:二进制:二进制加法加法。lA:computer ,B: 计算机计算机。从。从 computer 得出得出 计计算机算机:英译汉。英译汉。l.计算机导论(IntroductiontoComputers)5l从设计和制造一种机器的角度来看,从设计和制造一种机器的角度来看,我们不能满足于泛我们不能满足于泛泛的泛的“从从 A 得出得出

3、 B”。l因此要求:能够从符号序列因此要求:能够从符号序列 A 出发,在有限步内真正具体出发,在有限步内真正具体地求出符号序列地求出符号序列 B。l可计算:在可以预先确定的时间和步骤之内能够具体进可计算:在可以预先确定的时间和步骤之内能够具体进行的计算。行的计算。l例如,当例如,当 A 是是“请猜出我现在所想的那个数,但你只能猜请猜出我现在所想的那个数,但你只能猜一次一次”,则在预先确定的时间之内不能保证得到,则在预先确定的时间之内不能保证得到 B。l什么样的任务才是可计算的任务?这是计算机科学必须什么样的任务才是可计算的任务?这是计算机科学必须要回答的一个最基本的问题。要回答的一个最基本的问

4、题。l这是关系到计算机能做什么、不能做什么的根本问题。这是关系到计算机能做什么、不能做什么的根本问题。l类比:什么样的衣服才是洗衣机可洗的?类比:什么样的衣服才是洗衣机可洗的?计算机导论(IntroductiontoComputers)6l在电子数字计算机出现之前,数理逻辑学家们就开始研在电子数字计算机出现之前,数理逻辑学家们就开始研究可计算问题了。他们的思路是:究可计算问题了。他们的思路是:l为计算建立一个数学模型,称为计算模型,然后证明,凡为计算建立一个数学模型,称为计算模型,然后证明,凡是这个计算模型能够完成的任务,就是可计算的任务。是这个计算模型能够完成的任务,就是可计算的任务。l图灵

5、机就是这样的一个计算模型。图灵机就是这样的一个计算模型。l给定符号序列给定符号序列 A,如果用图灵机能够得出对应的符号序列如果用图灵机能够得出对应的符号序列 B,那么从那么从 A 到到 B 就是可计算的。就是可计算的。lChurch 已经证明:图灵机、递归函数、已经证明:图灵机、递归函数、演算和演算和 Post系系统这四种计算模型是等价的。这意味着,人们可以选择统这四种计算模型是等价的。这意味着,人们可以选择最合适的计算模型来确定一个任务是否可计算。最合适的计算模型来确定一个任务是否可计算。计算机导论(IntroductiontoComputers)7l一个图灵机包括三个部分:一个图灵机包括三

6、个部分:l一条无限长的带:带上划上格子,每个格子中可以写一个一条无限长的带:带上划上格子,每个格子中可以写一个符号;所有允许出现的符号属于一个预先规定好的字母表符号;所有允许出现的符号属于一个预先规定好的字母表。l一个读写头:每次可以从带上读出一个符号,也可以擦去一个读写头:每次可以从带上读出一个符号,也可以擦去或改写这个符号;读写头可以左移一格、右移一格或者保或改写这个符号;读写头可以左移一格、右移一格或者保持不动。持不动。l一个控制器:控制器里存有一个程序一个控制器:控制器里存有一个程序(Program)(程序就程序就是指令是指令(Instructions)的序列的序列);控制器在每个时刻

7、处于一);控制器在每个时刻处于一定的状态,叫做机器状态;当读写头从带上读出一个符号定的状态,叫做机器状态;当读写头从带上读出一个符号后,控制器就根据这个符号和当时的机器状态,参照程序后,控制器就根据这个符号和当时的机器状态,参照程序作出反应,即指挥读写头进行书写或者移动,并决定是否作出反应,即指挥读写头进行书写或者移动,并决定是否改变机器状态。改变机器状态。计算机导论(IntroductiontoComputers)8控制器控制器程序程序l例:例: 读写头读写头 q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3字字 母母 表:表: 1, b 机器状态:机器状

8、态: q1, q2, q3 带带代表代表空白空白一条指令一条指令计算机导论(IntroductiontoComputers)9控制器控制器l例:例: 读写头读写头 q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3程序程序字字 母母 表:表: 1, b 机器状态:机器状态: q1, q2, q3 当前机器状态当前机器状态当前读入的符号当前读入的符号下一机器状态下一机器状态当前应写入的符号当前应写入的符号带带代表代表空白空白读写头的动作:读写头的动作:R右移;右移;L左移;左移;H不动。不动。计算机导论(IntroductiontoComputers)10控制器

9、控制器l例例1: 读写头读写头 q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3程序程序字字 母母 表:表: 1, b 机器状态:机器状态: q1, q2, q3 带带代表代表空白空白指令各部分的合作:指令各部分的合作:1)在当前机器状态下)在当前机器状态下2)判断读入的符号)判断读入的符号3)写一个符号)写一个符号4)控制读写头动作)控制读写头动作5)设置下一机器状态)设置下一机器状态计算机导论(IntroductiontoComputers)11控制器控制器q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3程序程序l例例

10、1:1111111 读写头读写头 当前机器状态:当前机器状态:q1带带指令各部分的合作:指令各部分的合作:1)在当前机器状态下)在当前机器状态下2)判断读入的符号)判断读入的符号3)写一个符号)写一个符号4)控制读写头动作)控制读写头动作5)设置下一机器状态)设置下一机器状态计算机导论(IntroductiontoComputers)12控制器控制器q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3程序程序l例例1:1111111 读写头读写头 当前机器状态:当前机器状态:q1带带指令各部分的合作:指令各部分的合作:1)在当前机器状态下)在当前机器状态下2)判

11、断读入的符号)判断读入的符号3)写一个符号)写一个符号4)控制读写头动作)控制读写头动作5)设置下一机器状态)设置下一机器状态计算机导论(IntroductiontoComputers)13控制器控制器q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3程序程序l例例1:1111111 读写头读写头 当前机器状态:当前机器状态:q1带带指令各部分的合作:指令各部分的合作:1)在当前机器状态下)在当前机器状态下2)判断读入的符号)判断读入的符号3)写一个符号)写一个符号4)控制读写头动作)控制读写头动作5)设置下一机器状态)设置下一机器状态计算机导论(Introd

12、uctiontoComputers)14控制器控制器q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3程序程序l例例1:1111111 读写头读写头 当前机器状态:当前机器状态:q1带带指令各部分的合作:指令各部分的合作:1)在当前机器状态下)在当前机器状态下2)判断读入的符号)判断读入的符号3)写一个符号)写一个符号4)控制读写头动作)控制读写头动作5)设置下一机器状态)设置下一机器状态计算机导论(IntroductiontoComputers)15控制器控制器q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3程序程序l例例

13、1:1111111 读写头读写头 当前机器状态:当前机器状态:q1带带指令各部分的合作:指令各部分的合作:1)在当前机器状态下)在当前机器状态下2)判断读入的符号)判断读入的符号3)写一个符号)写一个符号4)控制读写头动作)控制读写头动作5)设置下一机器状态)设置下一机器状态计算机导论(IntroductiontoComputers)16控制器控制器q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3程序程序l例例1:1111111 读写头读写头 1当前机器状态:当前机器状态:q2带带指令各部分的合作:指令各部分的合作:1)在当前机器状态下)在当前机器状态下2)

14、判断读入的符号)判断读入的符号3)写一个符号)写一个符号4)控制读写头动作)控制读写头动作5)设置下一机器状态)设置下一机器状态计算机导论(IntroductiontoComputers)17控制器控制器q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3程序程序l例例1:1111111 读写头读写头 1当前机器状态:当前机器状态:q2带带指令各部分的合作:指令各部分的合作:1)在当前机器状态下)在当前机器状态下2)判断读入的符号)判断读入的符号3)写一个符号)写一个符号4)控制读写头动作)控制读写头动作5)设置下一机器状态)设置下一机器状态计算机导论(Intr

15、oductiontoComputers)18控制器控制器q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3程序程序l例例1:1111111 读写头读写头 1当前机器状态:当前机器状态:q2带带指令各部分的合作:指令各部分的合作:1)在当前机器状态下)在当前机器状态下2)判断读入的符号)判断读入的符号3)写一个符号)写一个符号4)控制读写头动作)控制读写头动作5)设置下一机器状态)设置下一机器状态计算机导论(IntroductiontoComputers)19控制器控制器q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3程序程序

16、l例例1:1111111 读写头读写头 1当前机器状态:当前机器状态:q2带带指令各部分的合作:指令各部分的合作:1)在当前机器状态下)在当前机器状态下2)判断读入的符号)判断读入的符号3)写一个符号)写一个符号4)控制读写头动作)控制读写头动作5)设置下一机器状态)设置下一机器状态计算机导论(IntroductiontoComputers)20控制器控制器q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3程序程序l例例1: 读写头读写头 11111111当前机器状态:当前机器状态:q3带带指令各部分的合作:指令各部分的合作:1)在当前机器状态下)在当前机器状

17、态下2)判断读入的符号)判断读入的符号3)写一个符号)写一个符号4)控制读写头动作)控制读写头动作5)设置下一机器状态)设置下一机器状态计算机导论(IntroductiontoComputers)21控制器控制器q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3程序程序l例例1:111111 读写头读写头 1当前机器状态:当前机器状态:q3带带指令各部分的合作:指令各部分的合作:1)在当前机器状态下)在当前机器状态下2)判断读入的符号)判断读入的符号3)写一个符号)写一个符号4)控制读写头动作)控制读写头动作5)设置下一机器状态)设置下一机器状态计算机导论(I

18、ntroductiontoComputers)22控制器控制器q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3程序程序l例例1:111111 读写头读写头 1当前机器状态:当前机器状态:q3带带指令各部分的合作:指令各部分的合作:1)在当前机器状态下)在当前机器状态下2)判断读入的符号)判断读入的符号3)写一个符号)写一个符号4)控制读写头动作)控制读写头动作5)设置下一机器状态)设置下一机器状态计算机导论(IntroductiontoComputers)23l这个例子中,是在用图灵机进行什么计算?这个例子中,是在用图灵机进行什么计算?x 个个 1y 个个

19、1x+y 个个 11111111开始时:开始时:1111111结束时:结束时:l这是在进行任意两个大于这是在进行任意两个大于 0 的的整数的相加。整数的相加。计算机导论(IntroductiontoComputers)24l图灵机在一定程度上反映了人类最基本的、最原始的计图灵机在一定程度上反映了人类最基本的、最原始的计算能力,它的基本动作非常简单、机械、确定。因此,算能力,它的基本动作非常简单、机械、确定。因此,有条件用真正的机器来实现图灵机。有条件用真正的机器来实现图灵机。l依据程序,可以对符合字母表要求的任意符号序列进行依据程序,可以对符合字母表要求的任意符号序列进行计算。因此,同一个图灵

20、机可以进行规则相同、对象不计算。因此,同一个图灵机可以进行规则相同、对象不同的计算,具有数学概念上的函数同的计算,具有数学概念上的函数 f (x) 的计算的计算能力。能力。l如果开始的状态(如果开始的状态(读写头的位置、机器状态读写头的位置、机器状态)不同,那么计算)不同,那么计算的涵义与计算的结果就可能不同。在按照每条指令进行的涵义与计算的结果就可能不同。在按照每条指令进行计算时,都要参照当前的机器状态,计算后也可能改变计算时,都要参照当前的机器状态,计算后也可能改变当前的机器状态。当前的机器状态。l状态状态(States)是计算机科学中非常重要的一个概念。是计算机科学中非常重要的一个概念。

21、计算机导论(IntroductiontoComputers)25l程序并非必须顺序执行,因为指令中关于下一状态的指程序并非必须顺序执行,因为指令中关于下一状态的指定,实际上表明指令可以不按程序中所表示的顺序执行定,实际上表明指令可以不按程序中所表示的顺序执行。这意味着,虽然程序只能按线性顺序来表示指令序列。这意味着,虽然程序只能按线性顺序来表示指令序列,但程序的实际执行轨迹可以与表示的顺序不同。,但程序的实际执行轨迹可以与表示的顺序不同。l同学们在学习同学们在学习 C 程序设计时程序设计时将看到,程序的基本结构有三种将看到,程序的基本结构有三种:顺序、选择:顺序、选择(或分支或分支)、循环。循

22、环。q1 1 1 R q1q1 b 1 R q2 q2 1 1 R q2q2 b b L q3 q3 1 b H q3q3 b b H q3q1 1 1 R q1q2 1 1 R q2q3 1 b H q3q1 b 1 R q2q2 b b L q3 q3 b b H q3 等价等价计算机导论(IntroductiontoComputers)26控制器控制器q1q2q3q1q2q3111bbb11b1bbRRHRLHq1q2q3q2q3q3程序程序l例例2:1111111 读写头读写头 当前机器状态:当前机器状态:q1带带计算机导论(IntroductiontoComputers)27控制器控

23、制器程序程序l例例2:1111111 读写头读写头 当前机器状态:当前机器状态:q1带带q1q2q3q1q2q3111bbb11b1bbRRHRLHq1q2q3q2q3q3计算机导论(IntroductiontoComputers)28控制器控制器程序程序l例例2:1111111 读写头读写头 当前机器状态:当前机器状态:q1带带q1q2q3q1q2q3111bbb11b1bbRRHRLHq1q2q3q2q3q3计算机导论(IntroductiontoComputers)29控制器控制器程序程序l例例2:1111111 读写头读写头 当前机器状态:当前机器状态:q1带带q1q2q3q1q2q3

24、111bbb11b1bbRRHRLHq1q2q3q2q3q3计算机导论(IntroductiontoComputers)30控制器控制器程序程序l例例2:1111111 读写头读写头 当前机器状态:当前机器状态:q1带带q1q2q3q1q2q3111bbb11b1bbRRHRLHq1q2q3q2q3q3计算机导论(IntroductiontoComputers)31控制器控制器程序程序l例例2:1111111 读写头读写头 1当前机器状态:当前机器状态:q2带带q1q2q3q1q2q3111bbb11b1bbRRHRLHq1q2q3q2q3q3计算机导论(IntroductiontoCompu

25、ters)32控制器控制器程序程序l例例2:1111111 读写头读写头 1当前机器状态:当前机器状态:q2带带q1q2q3q1q2q3111bbb11b1bbRRHRLHq1q2q3q2q3q3计算机导论(IntroductiontoComputers)33控制器控制器程序程序l例例2:1111111 读写头读写头 1当前机器状态:当前机器状态:q2带带q1q2q3q1q2q3111bbb11b1bbRRHRLHq1q2q3q2q3q3计算机导论(IntroductiontoComputers)34控制器控制器程序程序l例例2:1111111 读写头读写头 1当前机器状态:当前机器状态:q2

26、带带q1q2q3q1q2q3111bbb11b1bbRRHRLHq1q2q3q2q3q3计算机导论(IntroductiontoComputers)35控制器控制器程序程序l例例2: 读写头读写头 11111111当前机器状态:当前机器状态:q3带带q1q2q3q1q2q3111bbb11b1bbRRHRLHq1q2q3q2q3q3计算机导论(IntroductiontoComputers)36控制器控制器程序程序l例例2:111111 读写头读写头 1当前机器状态:当前机器状态:q3带带q1q2q3q1q2q3111bbb11b1bbRRHRLHq1q2q3q2q3q3计算机导论(Intro

27、ductiontoComputers)37l计算的对象、中间结果和最终结果都在带上,程序则在计算的对象、中间结果和最终结果都在带上,程序则在控制器中。这意味着什么?控制器中。这意味着什么?l如果把这样的图灵机做成一台计算机,由于程序是固定的如果把这样的图灵机做成一台计算机,由于程序是固定的,那么这样的计算机就只能完成规则固定的计算(但输入,那么这样的计算机就只能完成规则固定的计算(但输入可以多样化),因此是一台专用计算机。可以多样化),因此是一台专用计算机。l于是想到,把计算用的程序也放在带上,而控制器中的于是想到,把计算用的程序也放在带上,而控制器中的程序能够从带上把计算用的程序中的指令逐条

28、地读进来程序能够从带上把计算用的程序中的指令逐条地读进来,再按照其要求进行计算,再按照其要求进行计算(这个过程叫做解释(这个过程叫做解释(Interpretation),以后的计算机组成原理和编译原理等课程中会学到),以后的计算机组成原理和编译原理等课程中会学到)。l具有这种能力的图灵机叫做通用图灵机。具有这种能力的图灵机叫做通用图灵机。l这就是这就是 von Neumann 体系结构的基本思想。体系结构的基本思想。计算机导论(IntroductiontoComputers)38l在刚才那个例子中,字母表是在刚才那个例子中,字母表是 1, b ,其中符号其中符号 b(空空白白(Blank),在

29、计算机领域中通常叫空格)在计算机领域中通常叫空格)的作用是什么?的作用是什么?l它是被加数、加数、和的边界符号,表示着计算对象和计它是被加数、加数、和的边界符号,表示着计算对象和计算结果的边界。算结果的边界。l因此,真正用来表示被加数、加数与和的数值的,只有因此,真正用来表示被加数、加数与和的数值的,只有符号符号 1。l那么,数值那么,数值 1,000,000 就应当由一百万个就应当由一百万个 1 来表示。读入来表示。读入这一个数,读写头就要移动一百万次。这一个数,读写头就要移动一百万次。l在设计真正的计算机时,这显然是不合理、不实际的。在设计真正的计算机时,这显然是不合理、不实际的。计算机导

30、论(IntroductiontoComputers)39l如果这个字母表中一共有如果这个字母表中一共有11个符号:个符号: 0, 1, , 9, b ,那么那么就可以用十进制来表示数值。就可以用十进制来表示数值。l但是,这时的程序要长得多。但是,这时的程序要长得多。l确定当前指令自然要花更多的时间。确定当前指令自然要花更多的时间。q1q1q2q2q3q31b1b1b111bbbRRRLHHq1q2q2q3q3q3q1 0 0 R q1q1 1 1 R q1 q1 9 9 R q1 q3 b b H q3读被加数读被加数l如果是通用图灵机,还会付出什么代价?如果是通用图灵机,还会付出什么代价?(

31、请大家自己思考(请大家自己思考)计算机导论(IntroductiontoComputers)40控制器控制器程序程序l例例3 3:1090 读写头读写头 当前机器状态:当前机器状态:q1带带q1 0 0 R q1q1 1 1 R q1 q1 9 9 R q1 字字 母母 表:表: 0, 1, , 9, b 机器状态:机器状态: q1, q2, q3, 计算机导论(IntroductiontoComputers)41控制器控制器程序程序l例例3:1090 读写头读写头 当前机器状态:当前机器状态:q1带带q1 0 0 R q1q1 1 1 R q1 q1 9 9 R q1 字字 母母 表:表:

32、0, 1, , 9, b 机器状态:机器状态: q1, q2, q3, 计算机导论(IntroductiontoComputers)42控制器控制器程序程序l例例3:1090 读写头读写头 当前机器状态:当前机器状态:q1带带q1 0 0 R q1q1 1 1 R q1 q1 9 9 R q1 字字 母母 表:表: 0, 1, , 9, b 机器状态:机器状态: q1, q2, q3, 计算机导论(IntroductiontoComputers)43控制器控制器程序程序l例例3:1090 读写头读写头 当前机器状态:当前机器状态:q1带带q1 0 0 R q1q1 1 1 R q1 q1 9

33、9 R q1 字字 母母 表:表: 0, 1, , 9, b 机器状态:机器状态: q1, q2, q3, 计算机导论(IntroductiontoComputers)44l在设计真正的计算机时,还有一个问题需要考虑:怎样在设计真正的计算机时,还有一个问题需要考虑:怎样用机器来表示带上的符号?用机器来表示带上的符号?l这又与字母表有关系。这又与字母表有关系。l字母表中的符号越多,用机器表示的困难一般就越大。例字母表中的符号越多,用机器表示的困难一般就越大。例如,制造一个有十个状态(每个状态表示一个符号)的波如,制造一个有十个状态(每个状态表示一个符号)的波段开关,就远比只有两个状态(开段开关,

34、就远比只有两个状态(开/关)的一般开关要复杂关)的一般开关要复杂。l一个机器零件的状态越多,可靠运行的困难通常就越大。一个机器零件的状态越多,可靠运行的困难通常就越大。l已经有人证明,字母表中符号的最优数量,是欧拉常数已经有人证明,字母表中符号的最优数量,是欧拉常数 e(2.70.),取取整后为整后为 3。l但是,比起有两个状态的电子元件来,有三个状态的电子但是,比起有两个状态的电子元件来,有三个状态的电子元件在制造上比较困难,可靠性也比较低。元件在制造上比较困难,可靠性也比较低。计算机导论(IntroductiontoComputers)45l制作控制器的基本要求是什么?制作控制器的基本要求

35、是什么?l控制器必须有逻辑判断能力。例如要执行下面的指令:控制器必须有逻辑判断能力。例如要执行下面的指令: q1 1 1 R q1控制器要作出的逻辑判断是:控制器要作出的逻辑判断是: 如果当前机器状态是如果当前机器状态是q1,且读入的符号是且读入的符号是1,则,则 l因此,用机器来实现控制器,必须要考虑怎样来实现逻因此,用机器来实现控制器,必须要考虑怎样来实现逻辑判断。辑判断。l如果是通用图灵机,则程序要放在带上。这时,还要考虑如果是通用图灵机,则程序要放在带上。这时,还要考虑怎样用字母表中的符号来表示程序,而且这样的表示应当怎样用字母表中的符号来表示程序,而且这样的表示应当易于控制器来处理和

36、判断易于控制器来处理和判断(也就是:解释)(也就是:解释)。l“真、假真、假”(true / falsetrue / false)判断就是最基本的逻辑判断。判断就是最基本的逻辑判断。计算机导论(IntroductiontoComputers)46l综合以上考虑,计算机是用两个符号(综合以上考虑,计算机是用两个符号(0 和和 1)来:)来:l表示数据;表示数据;l表示程序;表示程序;l按照以此为基础的按照以此为基础的“布尔代数布尔代数”(或(或“二值逻辑二值逻辑”),来),来设计和制造计算机中的大多数零件(元器件)。设计和制造计算机中的大多数零件(元器件)。(在以后(在以后的数字系统设计基础、计

37、算机组成原理等课程中,同学的数字系统设计基础、计算机组成原理等课程中,同学们将学习相应的基本原理和设计方法)们将学习相应的基本原理和设计方法)l这样的表示方法叫做二进制这样的表示方法叫做二进制(Binary)表示。表示。l最早的二进制表示来自我国的周易。最早的二进制表示来自我国的周易。计算机导论(IntroductiontoComputers)47l综合以上考虑,计算机是用两个符号(综合以上考虑,计算机是用两个符号(0 和和 1)来:)来:l表示数据;表示数据;l表示程序;表示程序;l按照以此为基础的按照以此为基础的“布尔代数布尔代数”(或(或“二值逻辑二值逻辑”),来),来设计和制造计算机中

38、的大多数零件(元器件)。设计和制造计算机中的大多数零件(元器件)。(在以后(在以后的数字系统设计基础、计算机组成原理等课程中,同学的数字系统设计基础、计算机组成原理等课程中,同学们将学习相应的基本原理和设计方法)们将学习相应的基本原理和设计方法)l这样的表示方法叫做二进制这样的表示方法叫做二进制(Binary)表示。表示。l最早的二进制表示来自我国的周易。最早的二进制表示来自我国的周易。乾乾坤坤艮艮坎坎离离震震兑兑巽巽000001010011100101110111计算机导论(IntroductiontoComputers)48l一个数的十进制表示记为:一个数的十进制表示记为:dndn-1.d

39、1d0(10)其中:其中:dn 1, , 9 , n0(多位数) dn 0, , 9 , n=0 (一位数)dn-1, , d1 , d0 0, , 9 则该数的值可用下式得出:则该数的值可用下式得出:dn x10n + dn-1 x10n-1 + . + d1 x101 + d0 x100l例如,例如,123(10)的值是:的值是: 1 x102 + 2 x101 + 3 x100 = 100+20+3 = 123计算机导论(IntroductiontoComputers)49l一个数的二进制表示记为:一个数的二进制表示记为:bnbn-1.b1b0(2)其中:其中:bn = 1, n0 bn

40、 0, 1 , n=0bn-1, , b1 , b0 0, 1 则该数的值可用下式得出:则该数的值可用下式得出:bn x2n + bn-1 x2n-1 + . + b1 x21 + b0 x20l例如,例如,(2)的值是:的值是: 1 x26 + 1 x25 + 1 x24 + 1 x23 + 0 x22 + 1 x21 + 1 x20 = 64+32+16+8+0+2+1 = 123l一个数的十进制表示记为:一个数的十进制表示记为:dndn-1.d1d0(10)其中:其中:dn 1, , 9 , n0dn 0, , 9 , n=0dn-1, , d1 , d0 0, , 9 则该数的值可用下

41、式得出:则该数的值可用下式得出:dn x10n + dn-1 x10n-1 + . + d1 x101 + d0 x100l例如,例如,123(10)的值是:的值是: 1 x102 + 2 x101 + 3 x100 = 100+20+3 = 123计算机导论(IntroductiontoComputers)50l可采用辗转相除法。我们用一个例子来说明:可采用辗转相除法。我们用一个例子来说明:将将123(10)转换成等值的二进制数:转换成等值的二进制数: 除以除以2的商(取整)的商(取整) 余数余数 123/2 = 61 1 61/2 = 30 1 30/2 = 15 0 15/2 = 7 1

42、 7/2 = 3 1 3/2 = 1 1 1/2 = 0 1自下而上地依次将余数加以汇集,即得到自下而上地依次将余数加以汇集,即得到对应的二进制数:对应的二进制数:(2)。计算机导论(IntroductiontoComputers)51l数据也可以用八进制和十六进制表示:数据也可以用八进制和十六进制表示:l八进制表示:使用八进制表示:使用 07 共共 8 个数字。个数字。l十六进制表示:使用十六进制表示:使用 09 共共 10 个数字和个数字和 AF 共共 6 个字母个字母,后者表示,后者表示 1015 这这 6 个数。个数。l将二进制数转换为八进制和十六进制数:将二进制数转换为八进制和十六进制数:l从右向左,每三位进行一次转换,即从二进制数的值转换从右向左,每三位进行一次转换,即从二进制数的值转换成等值的八进制数字。成等值的八进制数字。l从右向左,每四位进行一次转换,即从二进制数的值转换从右向左,每四位进行一次转换,即从二进制数的值转换成等值的十六进制数字。成等值的十六进制数字。l例:转换例:转换 (2)l1111011(2)= 173(8)l1111011(2)= 7B(16)计算机导论(IntroductiontoComputers)52l在我们前面的例子里,在我们前面的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论