计算机科学与技术专业
本专业主要学习计算机科学与技术
的基础知识、基本原理和方法及实际应
用的基本技能。培养具有坚实的计算机
科学与技术基础知识和实际工作能力的、
富有创新意识的计算机科学与技术领域
的高级专门人才。
主要专业课程有:数学分析、线性代数、
模拟电路、计算机导论、常微分方程、数
字电路与数字逻辑、计算机组成原理、离
散数学、高级语言程序设计、汇编语言程
序设计、数据结构、操作系统、概率统计、
计算方法、编译原理、数据库原理、微机
系统与接口技术、通信原理、计算机网络
等。
,计算机导论, 力求突
出为后续计算机专业课程
构建一个基本知识框架的
指导思想,使计算机专业
的学生一进入大学就能够
对自己今后要学习的主要
知识、专业方向有一个基
本了解。
第 1章 计算机基础知识
本章导读:
本章从计算机的产生和发展出发,对计算机的特点和分类进行
了阐述;重点介绍了计算机中常用的数制及其转换、带符号数的
表示、字符编码和汉字编码的基本知识。要求读者了解微型计算
机的发展历史、工作特点、分类、应用领域等相关知识;熟悉数
制的基本概念、数制之间的相互转换。
本章主要知识点:
( 1)计算机的产生和发展
( 2) 计算机的特点和分类
( 3) 计算机系统的应用
( 4) 计算机中数制的基本概念, 数制之间的相互转换
( 5) 常用的 ASCII码,BCD码、汉字编码的相关概念和应用
第 1章 计算机基础知识
1.1 概述
1.2 计算机中的信息表示
1.1 概述
1.1.1 近代计算机的发展
1.1.2 计算机的诞生
1.1.3 计算机的发展
1.1.4 计算机的特点和分类
1.1.5 计算机的应用
1.1 概述
1642 Blaise Pascal
加法器 Charles Babbage
1822 差分机
1833 分析机MARK I
电子计算机时代
1.1.1 近代计算机的发展
1.1 概述
1.1.1 近代计算机的发展
计算机的发明是以计算为基本原则,早先
则是被定位为工业用产品。早在 19世纪初叶,
英国剑桥大学数学家、机械设计专家、经济学
家和哲学家查尔斯 ?巴贝基( Charles Babbage,
1791-1871,见图 1-1)发明了差分机
( Difference Engine,见图 1-2)即可计算等
式间的差距。而之后的分析机( Analytical
Engine,见图 1-3)则尝试用来执行多种类的运
算,尽管这台机器在他有生之年并未完成,但
其概念其实已经具备了现代电脑的特征,所以
称巴贝基为计算机之父。
查尔斯巴贝基
1.1 概述
1.1.1 近代计算机的发展
差分机 分析机
英国著名诗人拜伦的女儿阿达 ?拉芙拉斯伯爵夫人
( Ada Augusta Lovelace,1815-1852)协助巴贝基完善了
分析机的设计,指出它可以像提花机那样编程。她发现了
编程的基本要素,还编写了伯努利数的程序,因此,被誉
为世界上第一位程序员。
1.1 概述
1.1.1 近代计算机的发展
巴贝基生于 1791年的英国,当他在剑桥大学攻读博士时,即
为了解决计算等式间的差异数,于 1812年首先设计出了一台名为
差分机( Difference Engine)的机器,并于 1822年制成了差分
机样机。这是一台利用蒸汽为动力,以齿轮为基础所构成的机器,
由于齿轮的数量过于庞大(约四千),以至于差分机所计算的成
果并不精确。经历十年失败的尝试,1834年巴贝基在研制差分机
的工作中,看到了制造一种新的、在性能上大大超过差分机的计
算机的可能性,从而放弃了差分机转而构想出了名为分析机的自
动运算机器,由于这台机器具备有, 输入,,, 运算,,, 输出,
及, 储存, 的四大现代计算机特征,最后因英国政府停止资助使
这项计划,直到巴贝基逝世,亦未能最终实现他所设计的计算机。
1.1 概述
1.1.1 近代计算机的发展
美国哈佛大学的霍华德 ?艾肯 ( Howard Aiken,1900-1973) 博士
在图书馆里发现了巴贝基的论文, 提出了用机电方式, 而不是用纯
机械方法来构造新的分析机 。 霍华德 ·艾肯在 IBM公司的资助下, 于
1944年研制成功了被称为计算机, 史前史, 里最后一台著名的
MarkⅠ 计算机, 将巴贝基的梦想变为了现实 。 这也正是 IBM走上计算
机产业之路的开始 。 后来霍华德 ·艾肯继续主持了 MarkⅡ 和 MarkⅢ 计
算机的研制工作, 但它们已经属于电子计算机的范畴 。 这里请注
意,20世纪 40年代曾经出现过两个被称为 MarkⅠ 的计算机, 一个是这
里所说的 MarkⅠ, 另一个是英国曼彻斯特大学以威廉斯管的发明人
Williams( 1911-1977) 和汤姆 ·基尔蓬 ( Tom Kilbrn) 为首的研究
小组开发的 MarkⅠ, 其原型则被称为, 婴儿机, ( Baby Machine) 。
曼彻斯特大学在计算机发展史上也曾经起过重大的作用 。
1.1 概述
1.1.1 近代计算机的发展
英国数学家艾兰 ?图灵( Alan Mathison Turing,
l912-1954)是世界上公认的计算机科学奠基人,
见图 1-4。他的主要贡献有两个:一是建立图灵机
( TuhngMaChine,TM)模型,奠定了可计算理论的
基础;二是提出图灵测试,阐述了机器智能的概念。
但在他生活的时代,却完全没有这些赞誉。他不过
是一位古怪的数学家、超前的哲学家、神秘的密码
破译专家而已,没有人会想到他的思维能燃起信息
时代的烈焰。为纪念图灵对计算机科学的贡献,美
国计算机学会 ACM在 1966年创立了, 图灵奖,,每
年颁发给在计算机科学领域的领先研究人员,号称
计算机业界和学术界的诺贝尔奖。
图灵
图灵与图灵机
为纪念图灵对计算机的贡献,
美国计算机博物馆于 1966年
设立了?图灵奖?
计算机是使用相应的程序来完成任何设定好的任务。
图灵机是一种思想模型,
它由三部分组成:
一个控制器,一条可以无限延伸的
带子和一个在带子上左右移动的读
写头。
1.1 概述
1.1.1 近代计算机的发展
另一个也被称为计算机之父的是美籍匈牙
利数学家冯 ?诺依曼( Von Neumann),他和他
的同事们研制了世界上第二台电子计算机
EDVAC,对后来的计算机在体系结构和工作原
理上具有重大影响。在 EDVAC中采用了, 存储
程序, 的概念,以此概念为基础的各类计算机
统称为冯 ?诺依曼机。 50多年来,虽然计算机系
统从性能指标、运算速度、工作方式、应用领
域等方面与当时的计算机有很大差别,但基本
结构没有变,都属于冯 ?诺依曼计算机。但是,
冯 ?诺依曼自己也承认,他的关于计算机, 存储
程序, 的想法都来自图灵。
冯诺依曼
返回本节目录
冯 ·诺依曼计算机
John von Neumann
冯 ?诺依曼
存储程序工作原理
计算机的两个基本能力:一是能够存储
程序,二是能够自动地执行程序。
计算机是利用, 存储器, (内存)来存
放所要执行的程序的,而称之为 CPU的部
件可以依次从存储器中取出程序中的每
一条指令,并加以分析和执行,直至完
成全部指令任务为止。
1.1 概述
1.1.2 计算机的诞生
1939年保加利亚裔美国人、依阿华大学教
授阿塔诺索夫( John Vincent Atanasoff,
1903-1995)因进行数学物理研究需要大量计
算,而当时使用的模拟计算机速度慢、精度低,
从而决心设计电子管数字计算机。在研究生克
里福特 ·伯瑞( Clifford E.Berry,1918-1963)
的协助下,于 1941年制作了一台雏形计算机
ABC( Atanasoff-Berry Computer),被誉为
世界上第一台电子计算机。
1.1 概述
1.1.2 计算机的诞生
美国宾州大学的物理学教授约
翰 ·莫奇莱( John Mauchly,1907-
1980),曾经观摩过 ABC计算机,
1042年他写了一份备忘录,建议制
造电子计算机来完成弹道表的计算。
1943年 4月美国陆军阿伯丁弹道实
验室与宾州大学摩尔学院签订合同,
开始研制 ENIAC。在埃克特
( J.Preper Eckert,l919-1995)、
戈德斯坦( Herman H.GoldStine,
l913-)等人的共同努力下,1945年
秋制成 ENIAC,并于 1946年 2月 15
日公诸于世,见图 1-6。
ENIAC
1.1 概述
1.1.2 计算机的诞生
1947年莫奇莱和埃克特离开宾州大学,
创立了自己的计算机公司,生产 UNIVAC
计算机,见图 1-7。 1951年 6月 14日
UNIVAC交付美国人口统计局使用。舆论
界通常认为这标志着人类进人了计算机时
代。原因有二:一是 UNIVAC首次作为商
品出售,它先后生产了近 50台,而 ENIAC
只有一台自用;二是 UNIVAC用于公众领
域的数据处理,不像 ENIAC只用于军事目
的。特别是 UNIVAC曾在大选中,预告艾
森豪威尔当选,这使西方舆论大为轰动。
因此,人们认为 1951年 UNIVAC迎来计算
机时代,而与其说莫奇莱和埃克特发明了
电子计算机,不如说他们奠定了计算机工
业的基础。
UNIVAC
返回本节目录
计算机发展的几个阶段
第一代
( 1946~1956)
电子管
5千 ~4万(次 /秒)
第二代
( 1957~1964)
晶体管
几十万 ~百万(次 /秒)
第三代
( 1965~1970)
集成电路
百万 ~几百万(次 /秒)
第四代
( 1971~90年代)
集成电路
几百万 ~几亿(次 /秒)
1964年 911机 1966年 112机
1.1 概述
1.1.3 计算机的发展
年代
特征
项目
第一代
46-57
第二代
57-64
第三代
64-72
第四代
72-
逻辑元件 电子管 晶体管 中小规模集成电

(超)大规模集
成电路
存储器 延迟线、磁鼓、
磁芯
磁芯、磁
带、磁盘
磁芯、磁盘、磁

半导体、磁盘、
光盘
典型机器 IBM-701
IBM-650
IBM-7090
IBM-7094
IBM-370:大
IBM-360:中
PDP-11:小
ILLIAC-IV:巨
IBM-3033:大
VAX-11:小
80486:微
8098:单片机
软件 机器语言、汇
编语言
高级语言、
管理程序
结构化程序设计、
操作系统
数据库、软件
工程、程序设
计自动化
应用 科学计算 数据处理
工业控制
系统模拟与设计、
大型科学计算、
科技工程
事务处理、智
能模拟、社会
生活应用
1.1 概述
1.1.3 计算机的发展
1,第一代 ( 1946年 ~1958年 ),电子管阶段
基本特征采用电子管作为计算机的逻辑元器件, 每秒运算速
度仅为几千次, 内存容量仅数 KB。 其数据表示主要是定点数,
使用机器语言或汇编语言编写程序 。 第一代电子计算机体积庞大,
造价昂贵, 用于军事和科学研究工作 。 其代表机型有 IBM 650
( 小型机 ), IBM 709( 大型机 ) 。
电子管
1.1 概述
1.1.3 计算机的发展
2.第二代( 1959年 ~1964年):晶体管阶段
基本特征是采用晶体管作为计算机的逻辑元器件,由于电子
技术的发展,运算速度达每秒几十万次,内存容量增至几十 KB。
与此同时,计算机软件技术也有了较大发展,出现了 FORTRAN、
COBOL,ALGOL等高级语言。与第一代计算机相比,晶体管电
子计算机体积小、成本低、功能强、可靠性大大提高。除了科学
计算外,还用于数据处理和事务处理。其代表机型有 IBM 7094、
CDC 7600。
晶体管
1.1 概述
1.1.3 计算机的发展
3,第三代 ( 1965年 ~1970年 ),集成电路阶段
基本特征是采用小规模集成电路作为计算机的逻辑元器件,随
着固体物理技术的发展,集成电路工艺己可以在几平方毫米的单
晶硅 集成电路 片上集成由十几个甚至上百个电子元器件组成的逻
辑电路。它的运算速度每秒可达几十万次到几百万次,体积越来
越小,价格越来越低,软件越来越完善,在监控程序的基础上发
展形成了操作系统。其代表机型有 IBM360。
集成电路
1.1 概述
1.1.3 计算机的发展
4,第四代 ( 1971年 ~现在 ),大规模 /超大规模集成电路阶段
基本特征是采用大规模集成电路和超大规模集成电路作为计算
机的逻辑元器件,20世纪 70年代以来,集成电路制作工艺取得了
迅猛的发展,在硅半导体上可集成更多的电子元器件,半导体存
储器代替了磁芯存储器,目前,计算机的速度最高可以达到每秒
几百万亿次浮点运算。操作系统不断完善,高级程序设计语言功
能更加完善,人们的生活与计算机应用息息相关。
超大规模集成电路 返回本节目录
计算机的商用化
计算机的第一个商业顾客 ——烤面包卖茶点的利昂( lyons)
ENIAC
EDSAC
改进 lyons参与部分投资
进入社会,开启办公自动化理

Lyons复制 EDSAC
LEO
(Lyons Electronic Office)
LEO充当 会计师
Altair 8800
计算机发展 —— 微型化
计算机不再是单一的计算机器,而是一种
信息机器,一种个人的信息机器。
CRAY-Ⅱ
计算机发展 —— 巨型化
运算速度可达每秒几百亿次运算的 超级计算机
1975年世界上第一台超级计算机? Cray-I”
超级计算机应用:天气预报、地震机理研究、
石油和地质勘探,卫星图像处理等大量科学计
算的高科技领域。
中国超级计算机:
国防科技大学研制的
?银河 1号?,?银河 2号?和?银河 3号?
国家职能计算机中心推出的
?曙光 1000”,?曙光 200I”和?曙光 3000” 银河 Ⅱ
计算机发展 —— 网络化
计算机网络:
计算机技术与通信技术结合
的产物。
计算机网络的发展动力:
使用远程资源,共享程序、
数据和信息资源,网络用户
的通讯和合作。
计算机发展 —— 智能化
“总有一天,人类会造出一些举止跟人一样的
‘没有灵魂的机械’来?。
——笛卡尔( 1637)
人类第一个?工业机器人?:
一头在纺织机上挑纱的?驴?( 1742年)
第一代机器人
机械手( 1962年出现)
第二代机器人
具有?感觉?的机器人
第三代机器人
装有启发式计算机的?智能机器人?
计算机世界中的中国
1952年在清华大学成立中国第一个计算机三人研究小组
组长 闵大可 电机系教授
1954年小组经扩充和调整,并入中科院近代物理研究所
负责人 钱三强
1958年完成第一台电子计算机 103
1959年完成大型电子计算机 104
1959年中国自行研究的 107计算机问世
1965年中国开始研制第三代计算机(集成电路)
1977年研制成功中国第一台微机 DJS050
计算机世界中的日本
辉煌:
打败 Intel的芯片巨人,迫使 Intel 于 1985年另辟
战场(微处理器)
笔记本电脑的领军人物
失误:
第五代计算机(智能计算机)的开发者
高清晰度模拟电视
计算机世界中的印度
硅谷
慧谷
世界软件产业王国
1985年,印度软件业产值为 1000万 美元
1994年,印度软件业产值为 10亿 美元
2000年,印度软件业产值为 50亿 美元
在软件出口规模和质量与总产值的比例上,
印度居世界第一。
计算机文化与道德
计算机是一种?可以传授给人知识的工具?,也是一种
?无比有力的知识工具?。
真正对人类生活带来直接冲击的,不是计算机硬件本身,
而是来自软件这种人类知识的产物。
1.1 概述
1.1.4 计算机的特点和分类
1,计算机的特点
( 1) 运算速度快 。
( 2) 计算精度高 。
( 3) 具有记忆和逻辑判断功能 。
( 4) 能自动运行且支持人机交互 。
1.1 概述
1.1.4 计算机的特点和分类
2.计算机的分类
根据计算机的运算速度、字长、存储容量、软件配置等多方
面的综合性能指标,计算机可以分为:巨型机、大型机、小型机、
微型机、工作站、服务器、网络计算机等。上述分类标准不是一
成不变的,只能适应某一个时期。
( 1)巨型机。
( 2)大型机。
( 3)小型机。
( 4)微型计算机。
( 5)工作站。
( 6)服务器。
( 7)网络计算机。 返回本节目录
1.1 概述
1.1.5 计算机的应用
1.科学计算
2,事务处理
3,过程控制
4,辅助工程
5,人工智能
6,网络应用
返回本节目录
1.2 计算机中的信息表示
1.2.1 计算机中的数制机器转换
1.2.2 计算机中的数值数据的表示
1.2.3 计算机常用的编码
1.2 计算机中的信息表示
1.2.1 计算机中的数制机器转换
计算机中不同计数制的基数、数码、进位关系和表示方法
计数制 基数 数码 进位关系 表示方法
二进制 2 0,1 逢二进一 1010B或( 1010) 2
八进制 8 0---7 逢八进一 247Q或( 247) 8
十进制 10 0---9 逢十进一 598D或( 598) 10
十六进 16 0--9,A--F 逢十六进一 7C2F H或( 7C2F) 16
1.2 计算机中的信息表示
1.2.1 计算机中的数制机器转换
【 例 1.1】 将十进制整数 ( 103) 10转换为二进制整数 。 按照转换规
律, 采用, 除 2倒取余, 的方法, 过程如下:
2 ︳ 103
2 ︳ 51 余数为 1
2 ︳ 25 余数为 1
2 ︳ 12 余数为 1
2 ︳ 6 余数为 0
2 ︳ 3 余数为 0
2 ︳ 1 余数为 1
0 余数为 1
所以, ( 103) 10= ( 1100111) 2
1.2 计算机中的信息表示
1.2.1 计算机中的数制机器转换
【 例 1.2】 将十进制小数 ( 0.8125) 10转换为二进制小数 。 按照转换
规律, 采用, 乘 2顺取整, 的方法, 过程如下:
0.8125× 2= 1.625 取整数位 1
0.625× 2= 1.25 取整数位 1
0.25× 2= 0.5 取整数位 0
0.5× 2= 1.0 取整数位 1
所以, ( 0.8125) 10= ( 0.1101) 2
若出现乘积的小数部分一直不为, 0”,则可以根据计算精度的要求
截取一定的位数即可。
1.2 计算机中的信息表示
1.2.1 计算机中的数制机器转换
【 例 1.3】 将十进制整数 ( 1685) 10转换为八进制整数 。 按照转换规
律, 采用, 除 8倒取余, 的方法, 过程如下:
8 ︳ 1685
8 ︳ 210 余数为 5
8 ︳ 26 余数为 2
8 ︳ 3 余数为 2
0 余数为 3
所以, ( 1685) 10= ( 3225) 8
1.2 计算机中的信息表示
1.2.1 计算机中的数制机器转换
【 例 1.4】 将十进制整数 ( 2347) 10转换为十六进制整数 。 按照转换
规律, 采用, 除 16倒取余, 的方法, 过程如下:
16︳ 2347
16︳ 146 余数为 11( 十六进制数为 B)
16︳ 9 余数为 2
0 余数为 9
所以, ( 2347) 10= ( 92B) 16
1.2 计算机中的信息表示
1.2.1 计算机中的数制机器转换
【 例 1.5】 将十进制小数 ( 0.7125) 10转换为八进制小数 。 按照转换规
律, 采用, 乘 8顺取整, 的方法, 过程如下:
0.7125× 8= 5.7 取整数位 5
0.7× 8= 5.6 取整数位 5
0.6× 8= 4.8 取整数位 4
0.8× 8= 6.4 取整数位 6
若数据的计算精度取小数点后 4位数, 则其后的数可以不再计算 。
所以, ( 0.7125) 10= ( 0.5546) 8
1.2 计算机中的信息表示
1.2.1 计算机中的数制机器转换
【 例 1.6】 将十进制小数 ( 0.8129) 10转换为十六进制小数 。 按照转
换规律, 采用, 乘 16顺取整, 的方法, 过程如下:
0.8129× 16= 13.0064 取整数位 13( 十六进制数为 D)
0.0064× 16= 0.1024 取整数位 0
0.1024× 16= 1.6384 取整数位 1
0.6384× 16= 10.2144 取整数位 10( 十六进制数为 A)
取数据的计算精度为小数点后 4位数 。
所以,( 0.8129) 10 = ( 0.D01A) 16
1.2 计算机中的信息表示
1.2.1 计算机中的数制机器转换
【 例 1.7】 将二进制数 ( 1011001.101) 2 转换为十进制数 。 采用按位
权展开求和的方法, 过程如下:
( 1011001.101) 2 = 1× 26+ 1× 24+ 1× 23+ 1× 20+ 1× 2- 1+
1× 2- 3
= 64+ 16+ 8+ 1+ 0.5+ 0.125
= ( 89.625) 10
【 例 1.8】 将八进制数 ( 1476.52) 8转换为十进制数, 过程如下:
( 1476.52) 8 = 1× 83+ 4× 82+ 7× 81+ 6× 80+ 5× 8- 1+ 2× 8- 2
= 512+ 256+ 56+ 6+ 0.625+ 0.03125
= ( 830.65625) 10
1.2 计算机中的信息表示
1.2.1 计算机中的数制机器转换
【 例 1.9】 将十六进制数 ( 2D7.A) 16转换为十进制数, 过程如下:
( 2D7.A) 16 = 2× 162+ 13× 161+ 7× 160+ 10× 16- 1
= 512+ 208+ 7+ 0.625
= ( 727.625) 10
【 例 1.10】 将八进制数 ( 3157.462) 8转换为二进制数, 采用, 一分
为三, 的方法 。
3 1 5 7,4 6 2
011 001 101 111,100 110 010
所以, ( 3157.462) 8= ( 11001101111.100110010) 2
1.2 计算机中的信息表示
1.2.1 计算机中的数制机器转换
【 例 1.11】 将二进制数 ( 10011010110.10101011) 2转换为八进制数,
采用, 三合一, 的方法 。
010 011 010 110,101 010 110
2 3 2 6,5 2 6
所以, ( 10011010110.10101011) 2= ( 2326.526) 8
【 例 1.12】 将十六进制数 ( 72A3.C69) 16转换为二进制数, 每位十六
进制数用 4位二进制数表示, 过程如下:
7 2 A 3,C 6 9
0111 0010 1001 0011,1100 0110 1001
所以, ( 72A3.C69) 16= ( 111001010010011.110001101001) 2
返回本节目录
1.2 计算机中的信息表示
1.2.2 计算机中的数值数据的表示
1,基本概念
在计算机内部表示二进制数的方法通常称为数值编码, 把一个
数及其符号在机器中的表示加以数值化, 这样的数称为机器数 。
机器数所代表的数称为该机器数的真值 。 要完整地表示一个机器
数, 应考虑三个因素:机器数的范围;机器数的符号;机器数中
小数点的位置 。
( 1) 机器数的范围:由计算机的 CPU字长来决定 。
当使用 8位寄存器时, 字长为 8位, 所以一个无符号整数的最大值是:
( 11111111) B=( 255) D,此时机器数的范围是 0~255。
当使用 16位寄存器时, 字长为 16位, 所以一个无符号整数的最大值
是,( 1111111111111111) B=( FFFF) H=( 65535) D,此时机
器数的范围是 0~65535。
1.2 计算机中的信息表示
1.2.2 计算机中的数值数据的表示
( 2)机器数的符号:在算术运算中,数据是有正有负的,称之为
带符号数。为了在计算机中正确地表示带符号数,通常规定每个
字长的最高位为符号位,并用,0”表示正数,用,1”表示负数。
例如:字长为 8位二进制时,D7为符号位,其余 D6~D0为数值位;
字长为 16位二进制数时,D15为符号位,其余 D14~D0为数值位。
( 3)机器数中小数点的位置:在机器中,小数点的位置通常有两
种约定,一种规定小数点的位置固定不变,这时的机器数称为
,定点数, ;另一种规定小数点的位置可以浮动,这时的机器数
称为, 浮点数, 。
1.2 计算机中的信息表示
1.2.2 计算机中的数值数据的表示
2,带符号数的原码, 反码, 补码表示
( 1) 原码:规定正数的符号位为 0,负数的符号位为 1,其它位按照
一般的方法来表示数的绝对值 。 用这样的表示方法得到的就是数
的原码 。
例如:当机器字长为 8位二进制数时:
X=+ 1011011 [X]原码 = 01011011
Y=- 1011011 [Y]原码 = 11011011
原码表示的整数范围是- (2n-1- 1)~+ (2n-1- 1),其中 n为机器字长 。
通常,8位二进制原码表示的整数范围是- 127~+ 127,
16位二进制原码表示的整数范围是- 32767~+ 32767。
1.2 计算机中的信息表示
1.2.2 计算机中的数值数据的表示
( 2) 反码:对于一个带符号的数来说, 正数的反码与其原码相同,
负数的反码为其原码除符号位以外的各位按位取反 。
例如:当机器字长为 8位二进制数时:
X=+ 1011011 [X]原码 = 01011011 [X]反码 = 01011011
Y=- 1011011 [Y]原码 = 11011011 [Y]反码 = 10100100
负数的反码与负数的原码有很大的区别, 反码通常用作求补码过程
中的中间形式 。 反码表示的整数范围与原码相同 。
1.2 计算机中的信息表示
1.2.2 计算机中的数值数据的表示
( 3) 补码:正数的补码与其原码相同, 负数的补码为其反码在最低
位加 1。
例如,X=+ 1011011 [X]原码 = 01011011 [X]补码 = 01011011
Y=- 1011011 [Y]原码 = 11011011 [Y]反码 = 10100100 [Y]补码 =
10100101
补码表示的整数范围是- 2n-1~+ ( 2n-1- 1), 其中 n为机器字长 。
则,8位二进制补码表示的整数范围是- 128~+ 127,
16位二进制补码表示的整数范围是- 32768~+ 32767。
( 4) 补码与真值之间的转换:给定机器数的真值可以通过补码的定
义来完成真值到补码的转换, 若已知某数的补码求其真值, 计算
方法如下:正数补码的真值等于补码的本身;负数补码转换为其
真值时, 将补码按位求反末位加 1,即可得到该负数补码对应的
真值 。
1.2 计算机中的信息表示
1.2.2 计算机中的数值数据的表示
【 例 1.14】 给定 [X]补码 = 01011001B,求真值 X;给定 [X]补码 = 11011010B,
求真值 X。
( 1) 由于 [X]补码 代表的数是正数, 则其真值:
X=+ 1011001B
=+ ( 1× 26+ 1× 24+ 1× 23+ 1× 20)
=+ ( 64+ 16+ 8+ 1)
=+ ( 89) D
( 2) 由于 [X]补码 代表的数是负数, 则其真值:
X=- ( [1011010]求反 + 1) B
=- ( 0100101+ 1) B
=- ( 0100110) B
=- ( 1× 25+ 1× 22+ 1× 21)
=- ( 32+ 4+ 2)
=- ( 38) D 返回本节目录
1.2 计算机中的信息表示
1.2.3 计算机常用的编码
1,美国信息交换标准代码 ( ASCII码 )
ASCII( American Standard Code for Information Interchange)
码是美国信息交换标准代码的简称, 用于给西文字符编码, 包括
英文字母的大小写, 数字, 专用字符, 控制字符等 。 这种编码由
7位二进制数组合而成, 可以表示 128种字符,
ASCII码是 7位二进制编码,而计算机的基本存储单位是字节
( byte),一个字节包含 8个二进制位( bit)。因此,ASCII码的
机内码要在最高位补一个 0。在存储、处理和传送信息时,最高
位常用作奇偶校验位,用来检验代码在存储和传送过程中是否发
生错误。奇校验时,每个代码的二进制形式中应有奇数个 1;偶
校验时,每个代码的二进制形式中应有偶数个 1。
1.2 计算机中的信息表示
1.2.3 计算机常用的编码
2,二 — 十进制编码 —— BCD码
BCD( Binary-Coded Decimal) 码又称为, 二 — 十进制编码,, 专门
解决用二进制数表示十进数的问题 。
,二 — 十进制编码, 最常用的是 8421编码, 其方法是用 4位二进制数表示 1
位十进制数, 自左至右每一位对应的位权是 8,4,2,1。
由于 4位二进制数有 0000~1111共 16种状态, 而十进制数 0~9只取 0000~1001
的 10种状态, 其余 6种不用 。
通常, BCD码有两种形式, 即压缩 BCD码和非压缩 BCD码 。
( 1) 压缩 BCD码:压缩 BCD码的每一位数采用 4位二进制数来表示, 即一
个字节表示两位十进制数 。 例如:十进制数 59D,采用压缩 BCD码表示
为二进制数是 01011001B。
( 2) 非压缩 BCD码:非压缩 BCD码的每一位数采用 8位二进制数来表示,
即一个字节表示 1位十进制数 。 而且只用每个字节的低 4位来表示 0~9,
高 4位为 0。 例如:十进制数 87D,采用非压缩 BCD码表示为二进制数是
00001000 00000111B。
1.2 计算机中的信息表示
1.2.3 计算机常用的编码
3,汉字编码
具有汉字信息处理能力的计算机系统, 除了配备必要的汉字设
备和接口外, 还应该装配有支持汉字信息输入, 输出和处理的操
作系统 。 计算机处理汉字信息的前提条件是对每个汉字进行编码,
这些编码统称为汉字代码 。 目前计算机中常用的几种汉字代码有:
( 1) 汉字输入码:用于外部输入汉字, 也称为外码 。 它位于人机界
面上, 面向用户, 其编码原则是简单易记, 操作方便, 有利于提
高输入速度 。 目前使用较多的有顺序码 —— 将汉字按一定顺序排
好, 然后逐个赋予 1个号码作为该汉字的编码, 例如区位码;音
码 —— 根据汉字的读音进行编码, 例如拼音码;形码 —— 根据汉
字的字形进行编码, 例如五笔字型;音形码 —— 根据汉字的读音
和字形进行编码, 例如双拼码 。
1.2 计算机中的信息表示
1.2.3 计算机常用的编码
( 2) 汉字机内码:是汉字处理系统内部存储, 处理汉字而使用的编
码, 简称内码 。 内码与国家标准 GB2312-80汉字字符集有简明的
一一对应关系 。
( 3) 汉字交换码:是汉字信息处理系统之间或通信系统之间传输信
息时, 对每个汉字所规定的统一编码 。 我国已指定了汉字交换码
的国家标准, 信息交换用汉字编码字符集 —— 基本集,, 代号
GB2321-80,又称, 国标码, 。
返回本章目录