初中信息学奥赛培训课程基础知识二Word下载.docx
《初中信息学奥赛培训课程基础知识二Word下载.docx》由会员分享,可在线阅读,更多相关《初中信息学奥赛培训课程基础知识二Word下载.docx(46页珍藏版)》请在冰豆网上搜索。
我国从1956年开始计算机的科研和教学工作;
1960年我国第一台自行设计的通用电子计算机107机诞生;
1964年我国研制成大型通用电子计算机119机;
1983年每秒运行一亿次的银河巨型计算机在国防科技大学诞生;
1992年研制成功每秒运行10亿次的“银河Ⅱ”巨型计算机;
1997年又研制成功每秒运行130亿次的“银河Ⅲ”巨型计算机;
我国较有名的微型计算机品牌有:
“联想”、“长城”、“方正”等;
微机发展:
·
1982年Intel公司发布80286个人计算机微处理器芯片;
1985年-80386
·
1989年-80486
1993年,Pentium,主频60-66MHz;
1997年,PentiumⅡ,主频233MHz;
1999年,PentiumⅢ,主频450MHz以上;
2000年,P4,主频1.4G以上;
计算机的特点:
运算速度快,运算精度高,具有记忆能力,具有逻辑判断能力,具有自动控制能力;
计算机的应用:
1、数值计算
2、自动控制
3、事物处理
4、辅助教学(计算机辅助教学简称<
CAI>
)
5、辅助设计(计算机辅助设计简称<
CAD>
6、辅助测试(计算机辅助测试简称<
CAT>
7、信息检索
8、出版印刷
9、网络通信
10、多媒体技术
计算机分类:
巨型机、大型机、小型机、微型机、单片机。
计算机系统组成
计算机由硬件和软件两部分组成
硬件(运算器、控制器、存储器、输入设备、输出设备)
1、输入设备,接受用户的程序和数据,并转换成二进制代码送入内存储器存储起来,常见的输入设备有:
键盘、扫描仪、鼠标、手写笔、触摸屏、麦克风、扫描仪(Scanner)、视频输入设备、条形码扫描器。
2、输出设备,将输入的信息和计算机处理的结果转换成人们能接受的形式,显示或打印出来,常见的输出设备有:
显示器:
目前主要有CRT(阴极射线管)显示器和LCD液晶显示器。
显示器的关键有三个参数:
分辨率、点锐度和可显示区域大小等。
显示器的功能发挥还必须依赖于显示卡的性能参数。
打印机:
主要有针式打印机、喷墨打印机、激光打印机。
绘图仪。
输入与输出设备(I/O设备)又称为外部设备,而软盘驱动器、可读写光盘驱动器是既能输入又能输出的I/O设备
中央处理器(CPU):
包括控制器和运算器运算器。
3、运算器,程序描述的算法是在运算器中完成的,运算器对代码进行各种计算,它不仅能进行加、减、乘、除等基本运算,还可以进行基本逻辑运算,实现逻辑判断、比较和移位等操作。
4、控制器,计算机的指挥系统,它的运算过程就是取指令->
分析指令->
执行指令,周而复始。
通过电路集成后,我们将运算器和控制器结合在一起,并称为中央处理器,简称为CPU。
CPU的性能是衡量计算机性能的主要标志之一。
CPU的主要技术指标有字长、主频、型号:
字长:
是CPU一次能处理的二进制位数,常用的有8位、16位、32位和64位等,所以字长与芯片的型号有关;
主频和MIPS:
主频是描述CPU运算速度的基本参数,单位Hz。
一般说奔二400中的400指的就是该CPU主频为400MHz,但CPU的各种指令执行的时间是不同的,一些复杂的指令所用的时间是最基本指令的8倍甚至更多,因此更能反映CPU工作能力的指标是MIPS(每秒百万条指令),是CPU在一秒种平均执行指令的条数;
型号:
由厂家决定
5.存储器,存储器存储容量的基本单位是“字节”(byte),用“B”表示,一个字节由8个二进制位(bit)组成。
其中1B=8bit,1KB=1024B,1MB=1024KB,1GB=1024MB
(1)内部存储器
中央处理器能直接访问的存储器称为内部存储器,它包括快速缓冲存储器和主存储器,中央处理器不能直接访问的存储器称为外部存储器,外部存储器中的信息必须调入内存后才能为中央处理器处理。
主存储器:
内存也常泛称主存,但严格上说,只有当内存中只有主存,而没有快速缓冲存储器时,才能称为主存。
是CPU能直接访问的存储器。
内存按工作方式的不同分为随机存储器(RAM)<
可读、写,一旦断电其中存储的信息就会丢失>
和只读存储器(ROM)<
只读,常用来存放一些固定的程序、数据等,断电数据不丢失>
内存中的每一个单位,都被赋予一个唯一的序号,成为地址。
CPU凭借地址,准确的操纵每个单位的执行顺序。
(2)外部存储器
外存储器:
也称为辅助存储器,一般容量较大,速度比主存较慢。
包括:
硬盘存储器、软盘存储器、光盘存储器。
硬盘(Harddisk):
目前的硬盘大多采用了温彻斯特技术,所以又称为“温盘”;
温氏技术的特点是:
将盘片、读写磁头及驱动装置精密地组装在一个密封盒里;
采用接触式起停,非接触式读写的方式(磁盘不工作时,磁头停在磁盘表面的起停区,一旦加电后,磁头随着盘片旋转的气流“飞”起来,悬浮在磁盘表面,进行读写)。
软盘(FloppyDisk):
目前常见的是3.5英寸/1.44MB的软盘。
光盘存储器(CD-ROM):
普通的CD-ROM,只能读,不能写;
CD盘片的存储量大约是650MB。
可读写光驱:
能读又能写。
补充:
一般情况下,计算机的主存的速度要比CPU的速度低一个数量级,为弥补这一差距,在CPU和主存之间设置了了高速缓冲存储器(cache,简称高速缓存)
软件(系统软件和应用软件)
系统软件:
是计算机中最靠近硬件层次的软件,对计算机系统资源进行管理和控制,用来支持应用软件的开发和运行的。
典型的系统软件是操作系统和计算机语言翻译系统。
,主要是操作系统软件,如:
DOS、Windows95/98/2000、Unix、MacOSX、Linux、WindowsNT、solaris、FreeBSD;
支撑软件是支撑其他软件的开发和维护的软件,数据库管理系统、网络软件开发环境、环境数据库、各种接口软件和工具组(大家常见的有各种驱动程序)
应用软件:
为了某个应用目的而编写的软件,主要有文字处理软件、电子表格软件、数据库管理软件等。
计算机的工作原理
计算机的基本原理是存贮程序和程序控制。
微型计算机由中央处理器、存储器、输入和输出设备构成,它们之间由总线(包括数据总线、控制总线、地址总线)连接。
其中,地址总线决定了CPU寻址的范围,数据总线决定了CPU能访问的存储空间的大小。
计算机的基本工作过程是:
预先要把指挥计算机如何进行操作的指令序列(称为程序)和原始数据通过输入设备输送到计算机内存贮器中。
每一条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后送到什么地址去等步骤。
计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存贮器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。
接下来,再取出第二条指令,在控制器的指挥下完成规定操作。
依此进行下去,直至遇到停止指令。
程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理。
这一原理最初是由美籍匈牙利数学家冯.诺依曼于1945年提出来的,故称为冯.诺依曼原理。
冯·
诺依曼计算机结构设计思想是现代计算机制造的基础理论依据。
该结构设计的主要知道思想是3点:
1、计算机内部用二进制表示数据和指令,并进行运算。
2、计算机由存储器、运算器、控制器、I/O设备构成。
3、程序和数据一样,用二进制数据存储在存储器中。
信息数字化
计算机中数的表示
1.电器开关的“开与关”,晶体管电路的导通与截止,电位的高低等,这两种物理状态来对应“0、1”这两个数比较容易实现,因此计算机中的信息都是以二进制的形式来表示的。
一个二进制位称为一个bit,8个bit称为一字节(Byte,B)
8bit=1B,1024B=1KB(210),1024KB=1MB(220),1024MB=1GB
2.二(n)进制与十进制的转换(其他进制相同)
二进制数、八进制数、十六进制数转换为十进制数的方法:
按权展开求和法,i位值=i位符号值*i位权值(基数的i-1次方)(权展开法)
例:
(10110)2=1*24+0*23+1*22+1*21+0*20=(22)10
3.十进制转换为N进制:
十进制数转换为二进制数、八进制数、十六进制数的方法:
整数转换方法:
除基反取余法
小数转换方法:
乘基取整法
例:
(22)10=(10110)2
4.小数的转换(乘基数取整顺序排列)
(0.6875)10=(0.1011)2
5.二进制与八进制及十六进制的转换(分别为3位和4位)
二进制数转换成八进制数:
从小数点开始,整数部分向左、小数部分向右,每3位为一组用一位八进制数的数字表示,不足3位的要用“0”补足3位,就得到一个八进制数。
八进制数转换成二进制数:
把每一个八进制数转换成3位的二进制数,就得到一个二进制数。
将八进制的37.416转换成二进制数:
37.416
011111.100001110
即:
(37.416)8=(11111.10000111)2
将二进制的10110.0011转换成八进制:
010110.001100
26.14
即:
(10110.011)2=(26.14)8
二进制数转换成十六进制数:
从小数点开始,整数部分向左、小数部分向右,每4位为一组用一位十六进制数的数字表示,不足4位的要用“0”补足4位,就得到一个十六进制数。
十六进制数转换成二进制数:
把每一个八进制数转换成4位的二进制数,就得到一个二进制数。
将十六进制数5DF.9转换成二进制:
5DF.9
010111011111.1001
(5DF.9)16=(10111011111.1001)2
将二进制数1100001.111转换成十六进制:
01100001.1110
61.E
(1100001.111)2=(61.E)16
6.比较数的大小时,首先要确定它们为同一进制,当低进制向高进制转换时,括号内的数值减小,反之增大。
如:
(75)10=(113)8(75)10=(4B)16
十进制、二进制、八进制与十六进制数字对照表(要求熟记于心)
十进制
二进制
八进制
十六进制
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
10
9
1001
11
1010
12
A
1011
13
B
1100
14
C
1101
15
D
1110
16
E
1111
17
F
注意:
以上所说的二进制数均是无正、负符号的数。
这些数的范围如下表:
无符号位二进制数位数
数值范围
十六进制范围表示法
8位二进制数
0~255(255=28-1)
00~0FFH
16位二进制数
0~65535(65535=216-1)
0000H~0FFFFH
32位二进制数
0~232-1
00000000H~0FFFFFFFFH
下面四个不同进制的数,最小的一个数是.
A.(11011001)2B.(75)10C.(37)8D.(A7)16
用16进制,8进制和10进制写了一个如下等式:
52-19=33式中三个数是各不相同进位制的数,试问52,19,33分别为
A.8,10,16 B.10,16,8 C.8,16,10 D.10,8,16
符号数的机器码表示方法
1.带符号二进制数的表示方法:
带符号二进制数用最高位的一位数来表示符号:
0表示正,1表示负。
含符号位二进制数位数
-128~+127
80H~7FH
-32768~+32767
8000H~7FFFH
-2147483648~+2147483647
80000000H~7FFFFFFFH
2、符号位的机器码表示:
(1)机器数和真值
我们把一个数在计算机内被表示的二进制形式称为机器数,该数称为这个机器数的真值。
机器数有固定的位数,具体是多少位受到所用计算机设备字长的限制。
机器内部一次能表示的二进制位数由机器的字长,字长8位叫一个字节(Byte),一般机器字长都是字节的整数倍,如字长8位、16位、32位、64位等。
机器数的真值:
指带符号位的机器数所对应的十进制数值;
机器数把其真值的符号数字化,通常是用规定的符号位(一般是最高位)取0或1来分别表示其值的正或负。
例如:
假设机器数为8位,则其最高位是符号位,那么在整数的表示情况下,对于00101110和10010011,其真值分别为十进制数+46和-19。
符号数01001B,11011B的真值分别是+9和-11。
(2)最常用的机器数的表示方法:
原码、反码和补码。
原码
整数X的原码是指:
其符号位的0或1表示X的正或负,其数值部分就是X的绝对值的二进制表示。
通常用[X]原表示X的原码。
假设机器数的位数是8,即字长为1byte,原码能表示数值的范围为(-127~-0+0~127)共256个.
那么:
[+17]原=00010001[-39]原=10100111
注意:
由于[+0]原=00000000,[-0]原=10000000,所以数0的原码不唯一,有“正零”和“负零”之分。
已知:
x1=-1011B,x2=+1001B,则x1,x2有原码分别是
[x1]原=11011B,[x2]原=01001B
规律:
正数的原码是它本身,负数的原码是取绝对值后,在最高位(左端)补“1”。
有了数值的表示方法就可以对数进行算术运算.但是很快就发现用带符号位的原码进行乘除运算时结果正确,而在加减运算的时候就出现了问题,如下:
假设字长为8bits
(1)10-
(1)10=
(1)10+(-1)10=(0)10
(00000001)原+(10000001)原=(10000010)原=(-2)显然不正确.
因为在两个整数的加法运算中是没有问题的,于是就发现问题出现在带符号位的负数身上,对除符号位外的其余各位逐位取反就产生了反码.反码的取值空间和原码相同且一一对应.下面是反码的减法运算:
(1)10-
(2)10=
(1)10+(-2)10=(-1)10
(00000001)反+(11111101)反=(11111110)反=(-1)正确
反码表示法:
在反码的表示中,正数的表示方法与原码相同;
负数的反码是把其原码除符号位以外的各位取反(即0变1,1变0)。
通常,用[X]反表示X的反码。
按位取反的意思是该位上是1的,就变成0,该位上是0的就变成1。
即1=0,0=1
,
,求
和
。
解:
=
[+45]反=[+45]原=00101101[-32]原=10100000[-32]反=11011111
(1)10-
(1)10=
(1)10+(-1)10=(0)10
(00000001)反+(11111110)反=(11111111)反=(-0)
有问题.
问题出现在(+0)和(-0)上,在人们的计算概念中零是没有正负之分的.(印度人首先将零作为标记并放入运算之中,包含有零号的印度数学和十进制计数对人类文明的贡献极大).
于是就引入了补码概念.
补码表示法:
在补码的表示中,正数的表示方法与原码相同;
负数的补码在在其反码的最低有效位上加1。
通常用[X]补表示X的补码。
正数的原码反码补码是一样的。
在补码中用(-128)代替了(-0),所以补码的表示范围为:
(-128~0~127)共256个.
[+14]补=10100100[-36]反=11011011[-36]补=11011100
注意:
(-128)没有相对应的原码和反码,(-128)=(10000000)
注意1:
数0的补码的表示是唯一的,即[0]补=[+0]补=[-0]补=00000000
注意2:
利用公式[X]补+[±
Y]补=[X±
Y]补可以把加法和减法统一成加法。
(符号位和其它位上数一样运算,如果符号位上有进位,则把这个进位的1舍去不要,即不考虑“溢出”问题)。
X=6,Y=2求X-Y
[X]补=00000110[-Y]补=11111110
[X-Y]补=00000100
求补码方法
首先分析两个十进制数年运算:
78-38=41,79+62=141
如果使用两位数的运算器,做79+62时,多余的100因为超出了运算器两位数的范围而自动丢弃,这样在做78-38的减法时,用79+62的加法同样可以得到正确结果。
模是批一个计量系统的测量范围,其大小以计量进位制的基数为底数,位数为指数的幂。
如两位十进制数的测量范围是1——9,溢出量是100,模就是102=100,上述运算称为模运算,可以写作:
79+(-38)=79+62(mod100)
进一步写为-38=62,此时就说–38的补法(对模100而言)是62。
计算机是一种有限字长的数字系统,因此它的运算都是有模运算,超出模的运算结果都将溢出。
n位二进制的模是2n,
一个数的补码记作[x]补,设模是M,x是真值,则补码的定义如下:
设计算机字长n=8位,机器数真值x=-1011011B,求[x]补。
因为n=8,所以模M=28=100000000B,x<
0,所以
[x]补=M+x=100000000B-1011011B=10100101B
这个x的补码的最高位是“1”,表明它是一个负数。
由原码求出补码:
(1)正数的补码表示与原码相同;
(2)负数的补码是将原码符号位保持“1”之后,其余各位按位取反,末位再加1便得到补码,即取其原码的反码再加“1”:
[x]补=[x]补+1。
补码的加减运算如下:
(1)10-
(1)10=
(1)10+(-1)10=(0)10
(00000001)补+(11111111)补=(00000000)补=(0)正确
(1)10-
(2)10=
(1)10+(-2)10=(-1)10
(00000001)补+(11111110)补=(11111111)补=(-1)
正确
所以补码的设计目的是:
⑴使符号位能与有效值部分一起参加运算,从而简化运算规则.
⑵使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计
所有这些转换都是在计算机的最底层进行的,而在我们使用的汇编、C等其他高级语言中使用的都是原码。
下表列出
的8位二进制原码,反码和补码并将补码用十六进制表示。
真值
原码(B)
反码(B)
补码(B)
补码(H)
+127
01111111
7F
+39
00100111
27
+0
00000000
00
-0
10000000
11111111
-39
10100111
11011000
11011001
D9
-127
10000001
81
-128
无法表示
80
从上可看出,真值+0和-0的补码表示是一致的,但在原码和反码表示中具有不同形式。
8位补码机器数可以表示-128,但不存在+128的补码与之对应,由此可知,8位二进制补码能表示数的范围是-128——+12