第2章 计算机工作原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章 计算机工作原理
1946年,冯·诺依曼教授提出了计算机的组成和工作方式的基本思想:“程序存储”和“采用二进制”。具体说就是要实现机器的自动计算,必须先根据题目的要求,编制出解决该问题的计算程序,并通过输入设备将该程序存入计算机的存储器中,这就是“程序存储”;在计算机中,计算程序及数据是用二进制代码表示的,计算机只能存储并识别二进制代码表示的计算程序和数据,称为“采用二进制”。
2.1 计算机中数据的表示
计算机的内部信息分为两大类型:控制信息和数据信息。控制信息指计算机进行的一
系列操作,数据信息时计算机加工处理的对象。控制信息主要是指令,数据信息包括数值数据和非数值数据。数值数据能表示大小,可以在数轴上找到确定的点。非数值数据没有确定的数值,例如字符、汉字、图形、图像和声音等,又称符号数据。
数值数据包括整数和小数。通常有两种方法来确定小数点的位置:一种是规定小数点位置固定不变,称为定点数;另一种是小数点的位置不固定,可以浮动,称为浮点数。一般来说,定点格式容许的数值范围有限,要求的硬件结构比较简单;浮点格式容许的数值范围很大,但要求的处理硬件比较复杂。在计算机中,通常是用定点数来表示整数和纯小数,分别称为定点整数和定点小数。对于既有整数部分又有小数部分的数,一般用浮点数表示。
在计算机内部,无论哪一种数据,都以二进制形式表示。它们的从属关系如下所示。
数据⎪⎪⎩
⎪⎪⎨
⎧⎩⎨⎧⎩⎨⎧字符数据逻辑数据非数值数据浮点数定点数
数值数据
在计算机中,数据信息是由不同位数的二进制数组成,为了表示位数的多少,引入了“位”、“字节”和“字”的概念。
·位(bit ):是指一位二进制的代码,它只具有0、1两个状态。
·字节(byte ):表示二进制代码长度的一种单位,把8位二进制代码称为一个字节。 ·字(word ):由字节构成,一般为字节的整数倍。
数据
读写命令
地址代码
2.1.1 数制与转换
在十进制系统中,进位原则是逢十进一;在二进制系统中,进位原则是逢二进一;在八进制系统中,进位原则是逢八进一;在十六进制系统中,进位原则是逢十六进一。在十进制数中,每一项的数字都可以用0~9这10个数字中的一个来表示;二进制数中每一项的数字都可以用0、1表示;八进制中可以使用0~7;十六进制中就可以使用0~9、A 、B 、C 、D 、E 、F.为了比较二进制、八进制、十进制和十六进制系统,表2-1给出了4种进位制的对应关系。
(1) 十进制整数转换为二进制整数
将已知的十进制整数反复除2,余数为1,相应位为1;余数为0,相应位为0。从低位向高位逐次进行,一直到用2去除后,商为0时为止。 例2.1 将十进制数22转换成二进制数。 2) 22
2) 11 01
=x
2) 5 12
=x 2) 2
13
=x
2) 1
04
=x
2) 0 15
=x
)()
22(123452
10
x x x x x =
=
)
10110(2
(2) 十进制纯小数转换成二进制小数
首先将十进制纯小数反复乘以2,每次乘2之后所得的数的整数部分若为1,则二进制小数的相应位也为1;如果整数部分为0,则相应位为0.从高位向低位逐次进行,直到满足精度要求为止。
2. 二进制数转换为十进制数
二进制数转换为十进制数的方法极为简单,只要将二进制数按位展开,并计算出结果,便可以得到相应的十进制数。
例:2.2 将)
1011(2
转换成十进制数
)
1011(2
=1×
2
3
+ 0×
2
2
+1×
2
1
+1×
20
=8+0+2+1=11 3. 非十进制数之间的相互转换
1位八进制数对应3位二进制数,而1位十六进制数对应4位二进制数。因此,二进制数与八进制数之间、二进制数与十六进制数之间的相互转换十分容易。 (1) 八进制数与二进制数的互换
将每一位八进制数直接写成相应的3位二进制数即可。反之,二进制数转换成八进制数的方法是:以小数点为界,向左或向右将每3位二进制数分成一组,若不足3位,则用0补足3位。然后,将每一组二进制数直接写成相应的1位八进制数。 (2) 十六进制数二进制数的互换
将每一位十六进制数直接写成相应的4位二进制数。而二进制数转成十六进制数的方法则是:以小数点为界,向左或向右将没4位二进制数分成一组,若不足4位,则用0补足4位。然后,将每一组二进制数直接写成相应的1位十六进制数。
在计算机中采用二进制比十进制优越,主要表现为:数的状态简单,容易表示,在二进制中只有两个状态,很容易实现;预算规则简单;逻辑判断方便:二进制的1和0两个数码正好与逻辑命令中的两个值“是”和“否”,或者“真”和“假”相对应,这不仅为计算机实现逻辑运算和程序中的逻辑判断提供了便利条件,而且也可以将逻辑代数这一数学工具应用于逻辑线路的设计中。 2.1.2 数的机器码表示
要把一个数值在计算机中表示出来,必须明确指明:符号如何表示,小数点的位置如何表示。在计算机中,表示一个数值的符号的方法是:占用一位二进制数位,用1表示负号、0表示正号。也就是说,对数值的符号编码化。
αβcos cos 2
12
2
1
2
3
2
1=++x x x
x x
x