1计算机基础知识§1计算机概述1.1.计算机的发展史(1)计算机发展可划分:代别年代逻辑元件第一代1946-1958电子管第二代1959-1964晶体管第三代1965-1970集成电路第四代1971-?大规模集成电路(2)1946年2月,在美国宾夕法尼亚大学诞生了世界上第一台电子计算机ENIAC(ElectronicNumericalIntegratorAndComputer),这台计算机占地170平方米,重30吨,用了18000多个电子管,每秒能进行5000次加法运算。(3)冯·诺依曼理论1944年,美籍匈牙利数学家冯·诺依曼提出计算机基本结构和工作方式的设想,为计算机的诞生和发展提供了理论基础。时至今日,尽管计算机软硬件技术飞速发展,但计算机本身的体系结构并没有明显的突破,当今的计算机仍属于冯·诺依曼架构。其理论要点如下:·计算机硬件设备由存储器、运算器、控制器、输入设备和输出设备5部分组成。·存储程序思想——把计算过程描述为由许多命令按一定顺序组成的程序,然后把程序和数据一起输入计算机,计算机对已存入的程序和数据处理后,输出结果。(4)我国的计算机发展情况·我国从1956年开始计算机的科研和教学工作;·1960年我国第一台自行设计的通用电子计算机107机诞生;1964年我国研制成大型通用电子计算机119机;·1983年每秒运行一亿次的银河巨型计算机在国防科技大学诞生;1992年研制成功每秒运行10亿次的“银河Ⅱ”巨型计算机;1997年又研制成功每秒运行130亿次的“银河Ⅲ”巨型计算机;·我国较有名的微型计算机品牌有:“联想”、“长城”、“方正”等;(5)微机发展:·1982年Intel公司发布80286个人计算机微处理器芯片;·1985年-80386·1989年-80486·1993年,Pentium,主频60-66MHz;·1997年,PentiumⅡ,主频233MHz;·1999年,PentiumⅢ,主频450MHz以上;·2000年,P4,主频1.4G以上;2.2.计算机的特点:运算速度快,运算精度高,具有记忆能力,具有逻辑判断能力,具有自动控制能力;计算机的应用:科学计算、自动控制、信息处理、辅助设计(教学、制造)等;3.3.分类2§2计算机系统的基本组成计算机系统由硬件和软件两部分组成。(一)计算机硬件计算机硬件由五大部分组成:运算器、控制器、存储器、输入设备、输出设备。1.1.中央处理器(CPU——CentralProcessingUnit)由运算器、控制器和一些寄存器组成;运算器进行各种算术运算和逻辑运算;控制器是计算机的指挥系统;CPU的主要性能指标是主频和字长。2.2.存储器(1)内部存储器中央处理器能直接访问的存储器称为内部存储器,它包括快速缓冲存储器和主存储器,中央处理器不能直接访问的存储器称为外部存储器,外部存储器中的信息必须调入内存后才能为中央处理器处理。主存储器:内存也常泛称主存,但严格上说,只有当内存中只有主存,而没有快速缓冲存储器时,才能称为主存。主存储器按读写功能,可分只读存储器(ROM)和随机存储器(RAM)两种。(2)外部存储器外存储器:也称为辅助存储器,一般容量较大,速度比主存较慢。·硬盘(Harddisk):目前的硬盘大多采用了温彻斯特技术,所以又称为“温盘”;*温氏技术的特点是:将盘片、读写磁头及驱动装置精密地组装在一个密封盒里;采用接触式起停,非接触式读写的方式(磁盘不工作时,磁头停在磁盘表面的起停区,一旦加电后,磁头随着盘片旋转的气流“飞”起来,悬浮在磁盘表面,进行读写)。·软盘(FloppyDisk):目前常见的是3.5英寸/1.44MB的软盘。·光盘存储器(CD-ROM):普通的CD-ROM,只能读,不能写;CD盘片的存储量大约是650MB。可读写光驱:能读又能写。3.3.输入设备·键盘(Keyboard):目前大多使用104或108键盘·鼠标(Mouse):主要有机械型鼠标和光电型鼠标两种·手写笔·触摸屏·麦克风·扫描仪(Scanner)·视频输入设备·条形码扫描器4.4.输出设备·显示器(Monitor):目前主要有CRT(阴极射线管)显示器和LCD液晶显示器。·打印机(Printer):主要有针式打印机、喷墨打印机、激光打印机。·绘图仪·音箱(二)计算机软件计算机软件可分为系统软件和应用软件两大类。·系统软件:用来支持应用软件的开发和运行的,主要是操作系统软件,如:DOS、Windows95/98/2000、Unix、Linux、WindowsNT;·应用软件:为了某个应用目的而编写的软件,主要有文字处理软件、电子表格软件、数据库管理软件等。§3信息数字化§3.1无符号位数的表示(一)、四种常用的数制及它们之间的相互转换:进制基数基数个数权进数规律十进制0、1、2、3、4、5、6、7、8、91010i逢十进一二进制0、122i逢二进一八进制0、1、2、3、4、5、6、788i逢八进一3十六进制0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F1616i逢十六进一注意:在进行十六进制运算时,A、B、C、D、E、F六个字母要化成对应的十进制数:10、11、12、13、14、15,详见后面例题。十进制、二进制、八进制与十六进制数字对照表(要求熟记于心)十进制二进制八进制十六进制00000001000111200102230011334010044501015560110667011177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F十进制数转换为二进制数、八进制数、十六进制数的方法:整数转换方法:除基反取余法小数转换方法:乘基取整法二进制数、八进制数、十六进制数转换为十进制数的方法:按权展开求和法1.二进制与十进制间的相互转换:(1)二进制转十进制方法:“按权展开求和”例:(1011.01)2=(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10=(8+0+2+1+0+0.25)10=(11.25)10规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依奖递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。注意:不是任何一个十进制小数都能转换成有限位的二进制数。(2)十进制转二进制·十进制整数转二进制数:“除以2取余,逆序输出”(短除反取余法)例:(89)10=(1011001)2289244……1222……0211……025……122……121……00……1·十进制小数转二进制数:“乘以2取整,顺序输出”(乘2取整法)4例:(0.625)10=(0.101)20.625X21.251X20.50X21.012.八进制与二进制的转换:二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每3位为一组用一位八进制数的数字表示,不足3位的要用“0”补足3位,就得到一个八进制数。八进制数转换成二进制数:把每一个八进制数转换成3位的二进制数,就得到一个二进制数。例:将八进制的37.416转换成二进制数:37.416011111.100001110即:(37.416)8=(11111.10000111)2例:将二进制的10110.0011转换成八进制:010110.00110026.14即:(10110.011)2=(26.14)83.十六进制与二进制的转换:二进制数转换成十六进制数:从小数点开始,整数部分向左、小数部分向右,每4位为一组用一位十六进制数的数字表示,不足4位的要用“0”补足4位,就得到一个十六进制数。十六进制数转换成二进制数:把每一个八进制数转换成4位的二进制数,就得到一个二进制数。例:将十六进制数5DF.9转换成二进制:5DF.9010111011111.1001即:(5DF.9)16=(10111011111.1001)2例:将二进制数1100001.111转换成十六进制:01100001.111061.E即:(1100001.111)2=(61.E)16注意:以上所说的二进制数均是无正、负符号的数。这些数的范围如下表:无符号位二进制数位数数值范围十六进制范围表示法8位二进制数0~255(255=28-1)00~0FFH16位二进制数0~65535(65535=216-1)0000H~0FFFFH32位二进制数0~232-100000000H~0FFFFFFFFH§3.2符号数的表示一、符号数的机器码表示方法1.带符号二进制数的表示方法:带符号二进制数用最高位的一位数来表示符号:0表示正,1表示负。含符号位二进制数位数数值范围十六进制范围表示法8位二进制数-128~+12780H~7FH16位二进制数-32768~+327678000H~7FFFH32位二进制数-2147483648~80000000H~7FFFFFFFH5+21474836472、符号位的机器码表示:1)机器数和真值数在计算机中的表示形式统称为机器数,它有两上特点:其一,数的符号数值化;其二,二进制数的位数受计算机设备字长的限制。字长:机器内部一次能表示的二进制位数由机器的字长,字长8位叫一个字节(Byte),一般机器字长都是字节的整数倍,如字长8位、16位、32位、64位等。机器数的真值:指带符号位的机器数所对应的十进制数值;如符号数01001B,11011B的真值分别是+9和-11。2)最常用的机器数的表示方法:原码、反码和补码。(1)原码表示法:一个机器数x由符号闰和有效数值两部分组成,设符号位为x0,x真值的绝对值|x|=x1x2x3...xn,则x的机器数原码可表示为:[x]原=nxxxx...210,当x=0时,x0=0,当x0时,x0=1。例如:已知:x1=-1011B,x2=+1001B,则x1,x2有原码分别是[x1]原=11011B,[x2]原=01001B规律:正数的原码是它本身,负数的原码是取绝对值后,在最高位(左端)补“1”。(2)反码表示法:一个负数的原码符号位不变,其余各位按位取反就是机器数的反码表示法。正数的反码与原码相同。按位取反的意思是该位上是1的,就变成0,该位上是0的就变成1。即1=0,0=1设[x]原=nxxxx...210,则当x0=0时,[x]反=[x]原=nxxxx...210,当x0=1时,[x]反=[x]原=nxxxx...210。例:Bx10111,Bx10012,求反][1x和反][2x。解:反][1x=B10100,反][2x=B01001(3)补码表示法:首先分析两个十进制数年运算: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是真值,则补码的定义如下:)0()0(][][xxMxxx原补例:设计算机字长n=8位,机器数真值x=-1011011B,求[x]补。解:因为n=8,所以模M=28=100000000B,x0,所以[x]补=M+x=100000000B-1011011B=10100101B注意:这个x的补码的最高位是“1”,表明它是一个负数。对于二进制数还有一种更加简单的方法由原码求出补码:(1)正数的补码表示与原码相同;(2)负数的补码是将原码符号位保持“1”之后,其余各位按位取反,末位再加1便得到补码,即取其原码的