资源描述
.
计算机基础(35分)
第1章 计算机基础知识
1.1 计算机概述
1.1.1 计算机的发展历程
1. 第一台计算机
1946年,由美国的宾夕法尼亚大学生产了第一台全自动电子数字计算机“埃尼阿克”(英文缩写词是ENIAC,即Electronic Numerical Integrator and Calculator,中文意思是电子数字积分器和计算器)。它是美国奥伯丁武器试验场为了满足计算弹道需要由电气工程师普雷斯波.埃克特,物理学家约翰.莫奇莱而研制成的。
ENIAC致命缺点:它不是存储程序控制的计算机,它必须事先由电气工程师按是照计算步骤在外部连接好线后才可加电运行,准备工作非常麻烦.
2.第一台存储程序计算机
匈牙利数学家冯.诺依曼总结并提出改进意见的基础上,1949年宾夕法尼亚大学研制的EDVAC和英国剑桥研制的EDSAC是世界上第一台真正的存储程序控制的计算机,并采用了二进制。1951年投入运行的美国UNIVACI是世界上第一台真正商用的存储程序计算机。
习题:
1. 第一台电子计算机诞生于【 】。
A) 德国 B) 美国 C) 英国 D) 中国
2、世界上第一台电子计算机诞生于( )。
A、1942年 B、1944年 C、1946年 D、1948年
3、世界上第一台电子计算机的名字是___________。
4、第一台电子计算机的名称是()。
A)ENIAC B)ASCII C)LSIC D)MAN
5、第一台存储程序计算机的名称是( )。
A)ENIAC B)EDVAC C)UNIVACI D)MAN
6、冯.诺依曼体系结构的计算机首次采用了 。
答案:B , C, ENIAC A, A, B, 存储程序结构
2. 计算机的几个发展阶段
根据计算机所采用的物理器件,一般把电子计算机的发展分成四代。
第一代——电子管计算机
第一代计算机(1946—1957年)。计算机所用主要元件是电子管,称为电子计算机。电子管计算机的主要特征为:
(1) 体积大、耗电多、稳定性差、维护因难。
(2) 用磁鼓或磁带作为外存储器,容量小。
(3) 使用机器语言编程,无操作系统。
(4) 速度慢,一般在5千~3万次/秒。
(5) 造价高,使用成本高,寿命短。
(6) 主要用于科学计算。
第二代——晶体管数字计算机
第二代计算机(1958~1964),计算机采用的主要元件是晶体管,也称晶体管计算机,这代计算机的主要特征为:
(1) 采用晶体管,体积缩小,耗电降低,性能提高。
(2) 采用磁盘或磁带作为外存储器,容量增大。
(3) 出现了原始的操作系统模型,开如使用汇编语言编程,并出现高级程序设计语言Fortran、COBOL、BASIC等。
(4) 速度加快,一般在几万次~几十万次/秒。
(5) 造价降低,使用成本偏高,寿命延长。
(6) 除用于科学计算外,还用于数据处理和实时控制。
第三代——小规模集成电路计算机
第三代计算机(1965~1970),计算机采用的主要元件是小规模集成电路,也称集成电路数字计算机。这代计算机的主要特征为:
(1) 采用小规模集成电路元件,体积更小,耗电降低,性能进一步提高。
(2) 采用半导体作内存储器,外存储器容量进一步增大,而且存储器体积变小。
(3) 开始使用操作系统,并出现了分时操作系统和结构化、模块化程序设计语言PASCAL,C等,实现了时处理数据系统。
(4) 速度加快,一般在数几百万~几千万次/秒
(5) 造价进一步降低,使用成本降低,寿命更长。
(6) 应用领域扩大到工业数据管理和计算机辅助设计等领域。
第四代——大规模集成电路计算机
第四代计算机(1970~今),计算机采用的主要元件是大规模或超大规模集成电路,也称集成电路数字计算机。这代计算机的主要特征为:
(1) 采用超大规模集成电路元件,体积进一步变小、耗电降低,性能进大大提高。
(2) 采用了许多新的存储技术,出现大容量存储设备,而且存储器体积进一步小。
(3) 出现了微型机和微机操作系统,应用软件、工具软件数据库软件丰富,实现了并行处理技术和多机系统
(4) 速度加快,一般在数几千万~几十亿次/秒。
(5) 造价更低,使用成本低,普通家庭也用得起。
(6) 应用领域扩大社会各个方面,如办公自动化、图像处理、数据库、多媒体、语言识别和网络等。
一般每个芯片的元件数在1000--10000个时称为大规模集成电路,而超大规模集成电路每个芯片的元件数为10000个以上。采用大规模集成电路作为计算机的逻辑部件的存储器,使得计算机的体积更小,功耗更低,可靠性提高,软件技术更趋完善。
练习题:
1、世界上的第一台电子计算机使用的逻辑元件是____________。
A、晶体管 B、电子管 C、集成电路 D、以上都不是
2. 电子计算机主要是以【 】划分发展阶段的。
A) 集成电路 B) 电子元件 C) 电子管 D) 晶件管
3、第一代计算机主要应用领域为( )。
A、数据处理 B、人工智能 C、科学计算 D、过程控制
4、第二代计算机主要应用领域转为( )。
A、数据处理 B、财务管理 C、科学计算 D、过程控制
5、第二代计算机开始使用( )。
A、机器语言 B、汇编语言 C、数据库系统 D、操作系统
6、微型计算机属于( )计算机。
A、第一代 B、第二代 C、第三代 D、第四代
7、第一代计算机采用的逻辑元件是_______。
8、第二代计算机逻辑元件采用的是_______。
9、第三代计算机逻辑元件采用的是_______。
10、第四代计算机逻辑元件开始采用的是_______。
11. 计算机的发展经历了哪几个阶段?各阶段使用何种电子逻辑器件?
1、世界上第一台电子计算机诞生于_______ 年。(2010考题)
2、第二代计算机采用的逻辑元件是_______。 (2010考题)
3、电子计算机主要是以【 】划分发展阶段的。(2010考题)
A、集成电路 B、电子元件 C、电子管 D、晶件管
答案:B,B,C,A,B,D
电子管,晶体管,小规模集成电路,大规模集成电路
1946,晶体管,B,
1.1.2 计算机的特点
1. 运算速度快
2. 计算精度高
3. 存储容量大
4. 具有逻辑判断能力
计算机除了进行算术运算外,还可以对处理信息进行各种逻辑判断、逻辑推理等功能。
5.能自动完成各种操作
计算机是由内部控制和操作的,只要将事先编制好的应用程序输入计算机,计算机就能自动按照程序规定的步骤完成预定的处理任务。
1.1.3 计算机的分类
依据IEEE(美国电气和电子工程师协会)的划分标准,计算机分为:巨型机、大型机、小型机、工作站、微型机。这些类型之间的基本区别通常在于其体积大小、结构复杂程度、功率消耗、性能指标、数据存储容量、指令系统和设备、软件配置等的不同。
1.巨型计算机
巨型机也称超级计算机。其主要特点是运算速度很高,可达每秒执行几亿条指令,数据存储容量很大,规模大结构复杂,功能强,价格昂贵,通常要几千万元。主要用于大型科学计算、破译密码、建立全球气候模型系统和模拟核爆炸等大规模运算。
2.大型计算机
大型计算机(mainframe computer)(简称为大型机)是一种体积庞大、价格昂贵的计算机,它能够同时为成千上万的用户处理数据。大型机常被企业或政府机构作数据的集中存储、处理和大量数据的管理之用。在可靠性、数据安全性要求高或需要集中控制的地方也可以选用大型机。
3.小型计算机
小型计算机处理能力强,可靠性好,体积较小、价格适中。适合大、中型企业、科研部门和学校等单位充当主机使用。
4.微型计算机
微型机也称个人计算机(Person Computer),简称为“PC”,是由IBM PC机演变而来的。微型计算机体积小,功能强。它能够提供各种各样的计算功能,典型的功能有:字处理、照片编辑、收发电子邮件和登录因特网。个人计算机包括台式计算机、便携式计算机、笔记本式计算机、掌上型计算机几种。
1.1.4 计算机的应用
归纳起来,计算机的应用主要有以下几方面:
1.科学计算
也称数值计算,是计算机最早的应用领域,也是计算机最基本的应用之一。科学计算是指用计算机来解决科学研究和工程技术中所提出的复杂的数学问题。
2.数据处理
也称信息处理,是计算机应用最广泛的功能,人们利用计算机对所获取的信息进行记录、整理、加工、存储和传输等。
3.人工智能
利用计算机来模仿人类的智力活动。目前的计算机能象人哪样可以感应、判断、推理、学习等。如我们常见的专家系统,机器人,手写识别系统,声音识别系统等。人工智能是计算机应用的一个崭新领域。
4.自动控制
计算机是由内部控制和操作的,只要将事先编制好的应用程序输入计算机,计算机就能自动按照程序规定的步骤完成预定的处理任务。因此可以利用计算机对动态的过程进行控制、指挥和协调。
5.辅助功能
辅助功能是指利用计算机来辅助人们完成某些方面的工作或事务。最常见的有:辅助设计、辅助制造、辅助教学、辅助测试等。
(1)计算机辅助设计(CAD):利用计算机帮助人们进行工程设计、工程制图,提高工作效率。广泛应用于机械、建筑、服装和电路行业。
(2)计算机辅助制造(CAM):利用计算机帮助人们制造、生产设备,提高产品质量。
(3)计算机辅助教学(CAI):利用计算机帮助人们学习与掌握知识。
(4)计算机辅助测试(CAT):利用计算机帮助人们完成一些复杂、繁重的测试工作。
6.通信与网络
习题:
1. 计算机的主要应用领域有哪些?
2、计算机的应用领域主要包括:( )、数据处理、自动控制、计算机辅助系统和人工智能。
A、CAD B、CAM C、科学计算 D、CAL
3.英文缩写CAI的中文意思是_____
A计算机辅助设计 B计算机辅助制造
C 计算机辅助教学 D计算机辅助测试
4、CAT的中文含义_______。(2010考题)
5、PC机中“PC”的含义是【 】。 (2010考题)
A、计算机的型号 B、个人计算机 C、小型计算机 D、兼容机
6、依据IEEE(美国电气和电子工程师协会)的划分标准,计算机分为五大类,下面不属于IEEE标准中的类型的是【 】。(2010考题)
A、巨型机 B、小型机 C、工作站 D、兼容机
答案:1.略(见2)
2.C 3.C 4.计算机辅助测试 5.B 6.D
1.2 计算机信息的表示
其实在计算机内部,一切信息包括数值、字符、指令等的存放、处理的传输均采用二进制编码的形式表示。
习题
1、计算机中所有信息的存储都采用______
A)二进制 B)八进制 C)十进制 D)十六进制
2.无论是西文字符还是中文字符,在机内一律用__________编码来表示。
1.2.1 进位计数制
1.十进制
日常生活中最常见的是十进制数。十进制计数的特点是“逢十进一”,用十个不同的符号来表示:0、1、2、3、4、5、6、7、8、9,称为代码。
2.八进制
八进制计数的特点是“逢八进一”,八进制数采用八个不同的符号表示:0、1、2、3、4、5、6、7。 八进制的8因要进位变成10,因此在八进制数中没有8这个数。
3.十六进制
十六进制特点是“逢十六进一”,十六进制数采用0~15十六个符号表示。为方便起见,十六进制的10、11、12、13、14、15分别可用A、B、C、D、E、F六个英文字母来表示。
4.二进制
二进制特点是“逢二进一”,二进制数只有两个代码“0”和“1”,也就说二进制中所有的数据都由0、1两个的组合来实现。
1.2.2 数制之间的转换
1.十进制转换成二进制整数
(1) 十进制整数转换成二进制整数
十进制整数转换成二进制整数采用除2取余法。具体方法为:将十进制数除以2,得到一个商数和余数;再用商数除以2,又得到一个商数的余数;继续这个过程,直到商数等于零为止。每次所得的余数(必定是0或1)就是对应二进制数的各位数字,第一次得到的余数为二进制数的最低位,最后一次得到的余数为二进制数的最高位。
例如,将十进制数58转换成二进制数,其转换过程如下:
从下向上书写
2| 5 8 ……………… 余数为0,即a0=0
2| 2 9 ……………… 余数为1,即a1=1
2| 1 4 ……………… 余数为0,即a2=0
2| 7 ……………… 余数为1,即a3=1
2| 3 ……………… 余数为1,即a4=1
2| 1 ……………… 余数为1,即a5=1
0 商为0,结束
最后结果为:(58)10=(a5 a4 a3 a2 a1 a0)2=(111010)2
(2)十进制小数转换成二进制小数
十进制小数转换成二进制小数采用乘2取整法。具体方法为:用2乘十进制纯小数,去掉整数部分;再用2乘余下的纯小数部分,再去掉整数部分;继续这个过程,直到余下的纯小数为0或满足所要求的精度为止。最后将每次得到的整数部分(必定是0或1)从左到右排列即得到所对应的二进制小数。
例如,将十进制小数0.6875转换成二进制小数,其转换过程如下:
0.6875
× 2
从上向上书写
1.3750 整数为1,即a-1=1
0.3750
× 2
0.7500 整数为0,即a-2=0
0.7500
× 2
1.5000 整数为1,即a-3=1
0.5000
× 2
1.0000 整数为1,即a-4=1
0.0000 余下的纯小数为0,结束
最后结果为:(0.6875)10=(0. a-1 a-2 a-3 a-4)2=(0.1011)2
必须指出,一个二进制小数能够完全准确地转换成十进制小数,但一个十进制小数不一定能完全准确地转换成二进制小数。例如,十进制小数0.713事实上就不能完全准确地转换成二进制小数。在这种情况下,可以根据精度要求只转换到小数点后某一位为止。
对于一般的十进制数,可以将其整数部分与小数部分分别转换,然后再组合起来。例如:(58.6875)10=(111010.1011)2
2.十进制转换成八进制整数
(1) 十进制整数转换为八进制整数
十进制整数转换为八进制整数的方法与转换成二进制整数的方法相似,只是将基数改为8就行了,即除8取余法。
例如,将十进制整数58转换为八进制数的过程如下:
从下向上书写
8| 5 8 ……………… 余数为2,即a0=2
8| 7 ……………… 余数为7,即a1=7
0 商为0,结束
即:(58)10=( a1 a0)8=(72)8
(2) 十进制小数转换为八进制小数
十进制小数转换为八进制小数方法是乘8取整法。
例如,将十进制小数0.6875转换为八进制小数的过程如下:
0.6875
× 8
从上向下书写
5.5000 整数为5,即a-1=5
0.5000
× 8
4.0000 整数为4,即a-2=4
0.0000 余下的纯小数为0,结束
即 (0.6875)10=(0. a-1 a-2)8=(0.54)8
根据以上的说明就不难理解(58.6785)10=(72.54)8
3.十进制转换成十六进制整数
十进制整数转换为十六进制整数采用除16取余法。十进制小数转换为十六进制小数采用乘16取整法。例如,十进制数58.75转换为十六进制的过程如下:
先转换整数部分
从下向上书写
16| 5 8 …………… 余数为10,即a0=A
16| 3 …………… 余数为3, 即a1=3
0 商为0,结束
再转换小数部分
0.75
× 16
450
从上向下书写
+ 75
12.00 整数为12,即a-1=C
0.00 余下的纯小数为0,结束
最后结果为:(58.75)10=(a1 a0. a-1)16=(3A.C)16
4. 其它进制转换成十进制
非十进制转换成十进制的方法非常简单,只要把各个非十进制数按位权展开求和即可。二进制数据写成2,八进制写成8,十六进制写成16的各次幂之和的形式。然后计算出其结果即可。
(1)二进制转换成十进制
例1:把二进数(10111)2 转换成十进制
(10111)2=1×24+0×23+1×22+1×21+1×20=16+0+4+2+1=(23)10
例2:把二进数(101.101)2 转换成十进制
(101.101)2=1×22+0×21+1×20+1×2-1+0×2-2 +1×2-3 = (5.625)10
(2)八进制转换成十进制
例1:把八进数(305)8 数转换成十进制
(305)8=3×82+0×81+5×80=192+5=(197)10
例2:把八进数(2533 . 42)8 转换成十进制
(2533.42)8=2×83+5×82+3×81+3×80+4×8-1+4×8-1+2×8-2
= (1371.53125)10
(3)十六进制转换成十进制
例1:把十六进数(2A4E)16转换成十进制
(2A4E)16=2×163+A×162+4×161 +E×160
=8192+2560+64+14=(10830)10
例2:把十六进数(1CB . D8)16转换成十进制
(1CB.D8)16=1×162+12×161+11×160+13×16-1+8×16-2
=(459.84375)10
5. 二进制、八进制、十六进制之间的转换
(1)二进制与十六进制之间的转换
由于16=24,即一位十六进制数正好相当于四位二进制数。因此二进制转换成十六进制时,可以将每四位二进制数划为一组,用一位十六进制数代替,也称为“以四换一”。将给定的二进制数以小数点为界,分别向左、向右每4位分成一组,若不足4位,要分别前补0(整数部分)或后补0(小数部分)。然后将每4位一组的数分别用对应的十六进制数来书写。
例如:把二进制数(101101011. 01101)2转成十六进制数。
先把二进制数按上述方法每四位分组:0001 0110 1011 . 0110 1000
对照表2-1,对应的十六进制数为: 1 6 B . 6 8
即(101101011. 01101)2=(16B.68)16
将十六进制数转换成二进制数刚好与上述过程相反,采用“以一换四”的方法,即将1个十六进制数转换成4个二进制数。
例如:把十六进制数(183 .5B)16转换成二进制数
十六进进制数: 1 8 6 . 5 B
对照表2-1,对应的二进制数为: 0001 1000 0110 . 0101 1011
即(183 .5B)16=(000110000110 . 01011011)2 = (110000110 . 01011011)2
(2)二进制与八进制之间的转换
由于8=23,即一位八进制数正好相当于三位二进制数。因此二进制转换成八进制时,可以将每三位二进制数划为一组,用一位八进制数代替,也称为“以三换一”;将给定的二进制数以小数点为界,分别向左、向右每3位分成一组,若不足3位,要分别前补0(整数部分)或后补0(小数部分)。然后将每3位一组的数分别用对应的八进制数来书写。
例如: 把二进制数(1101011.1101)2转换成八进制数
先把二进制数按上述方法每三位分组:001 101 011 . 110 100
对照表2-1,对应的八进制数为: 1 5 3 . 6 4
即(1101011.1101)2=(153.64)8
类似地,将八进制数转换成二进制数,采用“以一换三”的方法,即将1个八进制数转换成3个二进制数。
例如: 把八进制数(34.61)8转换成二进制数
八进制数: 3 4 . 6 1
对照表2-1,对应的二进制数为: 011 100 . 110 001
即 (34.61)8=(011100.110001)2 = (11100.110001)2
八进制或十六进制与二进制之间的转换极为方便,而且用八进制或十六进制书写要比用二进制书写简短,口读也方便。因此,八进制或十六进制常用于指令的书写、手编程序或目标程序的输入与输出。特别是,计算机存储器以字节为单位,一个字节包含八个二进制单位,正好用两个十六进制单位表示,十六进制用得更多些。
习题
1、6个二进制位最大能表示的十进制整数是______
A) 64 B) 32 C) 63 D) 31
2. 将二进制数11101转换成十进制数是【 】。
A) 31 B) 29 C) 58 D) 59
3、下列数据中,值最大的数是()
A二进制数1001 B二进制数1010
C二进制数1000 D二进制数1100
4. (1011111)2=( )10=( )8=( )16
5. 十进制的0.625转换成二进制为___________。
6. 与十进制数97等价的八进制数是【 】。
A) 1100001 B) 141 C) 61 D) 111
7. 十进制数“0.7109375”所对应的二进制数是【 】。
A) 0.1011001 B) 0.0100111 C.) 0.1011011 D) 0.1010011
8. 将二进制数101111101.0101转换成八进制数是【 】。
A) 155.11 B) 555.21 C) 575.24 D) 155.21
9.下列不同进制的4个数中,最小的一个数是( )
A、(45)10 B、(57)8 C、(3B)16 D、(110011)2
10、已知十进制整数-57,计算其原码、反码和补码。(2010考题)
11、将十进制数78. 6875转换为二进制、八进制和十六进制。(2010考题)
5.原码:(10111001)2 反码:(11000110)2补码:(11000111)2
6.(1001110. 1011)2 (116.54) 8 (4E.B) 16
1.2.3 信息的单位
计算机中信息的单位常用“位”、“字节”几种。
1. 位(bit)
计算机中最小的数据单位是二进制的一个数位,简称位(英文名称为bit,读为比特)。如二进制101010的“1”、“0”就是二进制的位。计算机中最直接最基本的操作就是对二进制位进行操作。
2. 字节(byte)
字节是计算机中用来表示存储空间的基本容量单位,简写为B。一个字节由8位二进制数字组成。计算机的存储器(包括内存与外存)通常也是以多少字节来表示它的容量。更大的单位有:KB,MB,GB、TB。它们之间的换算关系如下:
1B = 8 bit
1 KB=1024 B = 210 B K的意思为“千”
1 MB=1024 KB = 210 KB M读为“兆”
1 GB=1024 MB = 210 MB G读为“吉”
1TB=1024GB = 210 GB T读为“太”
习题
1. 1GB= MB= KB= B= bit。
2、计算机中最小的数据单位是_________
3、________是计算机中用来表示存储空间的基本容量单位。
4. 在微型计算机中,存储数据是以【 】。
A) KB为单位 B) 位为单位 C) 字长为单位 D) 字节为单位
5、_______是计算机中用来表示存储空间的基本容量单位。(2010考题)
1.2.4数值数据的编码表示
计算机中数的表示包括以下两个方面:正数、负数的表示和一般数的表示。
1. 正、负数的表示
计算机中所有的信息都是以二进制形式存放的。因此数的正、负号也是用一个二进制位来表示,这个二进制位一般在数的最高位,称为符号位。符号位为“0”表示正数,为“1”表示负数。
如果用8个二进制位表示一个有符号的整数,则最高位为符号位,具体表示数值的只有7位。如果用16个二进制位表示一个有符号的整数,除去最高位的符号位,具体表示数值的只有15位。显然,在表示一个数时,使用的二进制位数越多,其表示数值的范围就越大。
例如:用8位二进制表示,则十进制+50与-50的二进制表示分别为:
(+50)10=(00110010)2 (-50)10=(10110010)2
其中最左边的位(即最高位)为符号位,“0”表示正数;“1”表示负数。
又例如,用十六位二进制数表示,则十进制数+513与-513的二进制数表示分别为:
(+513)10=(0000001000000001)2 (-513)10=(1000001000000001)2
显然,用八位二进制无法表示这两个数。其中最左边的位(即最高位)为符号位,“0”表示正数;“1”表示负数。
2. 定点数与浮点数
计算机中运算的数有整数,也有小数,如何确定小数点位置呢?通常有两种规则:一种是规定小数点的位置不变,称为定点数。另一种是小数点的位置可以浮动,称为浮点数。无论是定点数还是浮点数,在实际存储时,小数点是不占用数据位的。
(1)定点数
如果小数点固定在符号位之后,这时的数就是一个纯小数。用这种方式表示的数称为定点小数。如1.0010101和0 .1010101都是定点小数,即小数点是符号位于之后。这里的“1”与“0”是符号位。
如果小数点固定在在整个二进制数的最后,这时的数是一个纯正数。在这种方式表示的数为定点整数。如10001. 和011110. 都是定点整数,即小数点后面没有其二进制数了。
(2)浮点数
对只有纯小数或整数用定点数来表示。对于既有整数部分又有小数部分的数,由于其小数点位置不固定,是用浮点数表示。浮点数是小数点位置不固定的数,通常它既有整数部分又有小数部分。大家知道:
一个十进制数R可以表示成如下形式:R=±Q×10±n 其中Q为一个纯小数。
例如:234.6 可以表示为:234.6=+2.34×102
同样,一个二进制数P也可以表示成如下形式:P=±S×2±n
其中P,S,n均为二进制数。S称为P的尾数,是一个定点小数,n称为P的阶码,是一个定点整数,指明了二进制数P的小数点的实际位置。由此可以看出,在计算机中表示一个浮点数,其结构如下:
尾数部分(定点小数) 阶码部分(定点整数)
数 符 ±
尾 数 S
阶 符 ±
阶 码 N
其中尾数部分与阶码部分分别占若干个二进制位,究竟需要占多少个二进制位,可以根据实际的需要以及数值的范围来确定。
例如:1110010 . 110 可以表示成:1110010.110=0.1110010110×2111
3. 数值数据在计算机中的编码表示
在计算机中,数值与符号全部数字化,通常用“0”表示正号,用“1”表示负号,这种连同符号一起数字化了的数据被称为机器数,其代表的数值称为真值。常用的机器数有原码、反码、补码三种编码形式。
(1)原码编码表示
最高位表示符号位,即“0”表示正号,“1”表示负号,其余位表示数值,这种表示带符号数的方法为原码表示法。
例如 用一个字节表示+50的原码为:(+50)10=(00110010)2
- 50的原码为:(- 50)10=(10110010)2
(2)反码编码表示
反码是另一种表示有符号数的方法。对于正数,其反码与原码相同;对于负数,在求反码的时候,除了符号位外,其余各位按位取反,即“1”都换成“0”,“0”都换成“1”。
例如 用一个字节表示+50的反码为:(+50)10=(00110010)2 正数的反码与原码
- 50的反码为:(- 50)10=(11001101)2 符号位不变,其它位取反
(3)补码编码表示
补码是表示带符号数的最直接方法,对于正数其补码与原码相同,对于负数,先把该数表示成反码,然后反码加1就成了补码。
例如 用一个字节表示+50的补码为:(+50)10= (00110010)2 正数的补码与原码
- 50的补码为:(- 50)10= (11001110)2 符号位不变,取反加1
4.BCD编码
人们通常采用把十进制数的每一位分别写成二进数形式的编码,称二─十进制编码或BCD(Binary─Coded Decimal)编码。
最常用BCD编码采用的是8421编码。这种编码最自然、最简单、书写方便、直观、容易识别。其方法是用四位二进制数表示一位十进数,自左至右对应的权是8、4、2、1。四位二进制有十六种不同的排列组合,即可以表示十六种状态。只取0000~1001分别对应0、1、2、3、4、5、6、7、8、9十个十进制,而1010~1111没有意义。例如568的BCD编码为0101 0110 1000。十进制数的8421BCD编码对照表,如表1-2所示。
表1-2十进制数与8421BCD编码对照表
十进数
8421BCD码
十进制数
8421BCD码
1
0000
8
1000
2
0001
9
1001
3
0010
10
0001 0000
4
0011
11
0001 0001
5
0100
12
0001 0010
6
0110
13
0001 0100
7
0111
14
0001 0101
1.2.5 计算机中非数值数据的表示
1.字符的编码表示
目前,国际上广泛使用的字符编码是美国标准信息交换码(American Standard Code for Information Interchange),简称ASCII码。虽然ASCII码是美国国家标准,但已被国际标准组织(ISO)确定为国际标准,为全球通用。
ASCII码有两种版本,一种用7位版本,另一种是8位版本。在存储时,一个ASCII码字符用1个字节存储。目前国际上通用的是7位版本。7位版本的ASCII码是用7位二进制代码来表示一个字符的编码,共能表示27=128个字符,见表1-3。其中包含52个大、小写英文字母字符,10个数码0~9,34个控制码,32个标点符号和运算符号。ASCII码只占用一个字节的后7位,最高位为0。
A 的ASCII是 65
A 的ASCII是 97
0的ASCII是 48
2.汉字的编码表示
我国于1980年制定的国家标准:GB2312-80,代号为国标码,是国家用于规定汉字信息处理使用的代码依据。由于GB2312-80是中文信息处理的国家标准,称国标码,也称为汉字交换码。GB2312-80编码采用两个字节进行编码,也就是我们常说的一个汉字占两个字节,即用十六位二进制来表示一个汉字。如表示“中”字的国标码为“01010110 01010000”,又如表示“啊”的国标码为“0000000100000001”。
GB2312-80中共收集了汉字和图形符号共7445个,其中汉字有6763个,符号682个。在6763个汉字中按其使用的频率和用途大小分成一级常用汉字3755个和二级常用汉字3008个。
汉字只有输入到计算机中才能对应国标码,让计算机进行处理。这就要解决汉字输入码的问题。汉字输入码又称汉字外码,是指从键盘输入汉字时采用的编码。不同的汉字输入方法就有不同的外码,即汉字的外码可以有很多,但国标码只能有一个。常用的汉字输入法有:(1)数字编码:如区位输入法。(2)拼音码:如各种拼音输入法。(3)字形编码:如五笔字型码、表形码、五笔画等。
习题
1、下列字符中,ASCII码值最小的是______
A)a B)B C)x D)Y
2、在微型计算机中,应用最普遍的字符编码是______
A)BCD码 B)ASCII码 C)汉字编码 D)补码
GB2312编码的字符集中的汉字,其机内码长度是
A)32位 B)24位 C)16位 D)8位
3. 现有1000个汉字,每个汉字用24×24点阵存储,则存储这些汉字至少需要_______ KB的存储容量。
4.无论是西文字符还是中文字符,在机内一律用__________编码来表示。
5、五笔字形属于汉字的_______码。
6、在汉字的显示或打印中使用的是汉字______
展开阅读全文