中南大学c语言陈老师第一章

上传人:re****.1 文档编号:568462005 上传时间:2024-07-24 格式:PPT 页数:65 大小:1,017.50KB
返回 下载 相关 举报
中南大学c语言陈老师第一章_第1页
第1页 / 共65页
中南大学c语言陈老师第一章_第2页
第2页 / 共65页
中南大学c语言陈老师第一章_第3页
第3页 / 共65页
中南大学c语言陈老师第一章_第4页
第4页 / 共65页
中南大学c语言陈老师第一章_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《中南大学c语言陈老师第一章》由会员分享,可在线阅读,更多相关《中南大学c语言陈老师第一章(65页珍藏版)》请在金锄头文库上搜索。

1、计算机与程序设计语言基础计算机与程序设计语言基础任课教师:陈晓方任课教师:陈晓方课课 时:时:4040学时学时实验学时:实验学时:1616学时学时考试形式:闭卷考试形式:闭卷考核成绩:平时考核成绩:平时3030,期末考试,期末考试7070 参考教材:唐朔飞编著,计算机组成原理(第二版)高等教育出版社,2008,1;李丽娟等编著,C语言程序设计(第二版)中国铁道出版社,2009.8;李丽娟等编著,C语言程序设计实验教程(第二版)中国铁道出版社,2009.8;谭浩强著,C程序设计(第二版),清华大学出版社,2001.3;谭浩强著,C语言设计题解与上机指导,清华大学出版社,2001.3;第一章第一章

2、 计算机组成原理及其数值与编码计算机组成原理及其数值与编码电子计算机电子计算机l人类社会最重大的科学发明之一人类社会最重大的科学发明之一l推动社会迈向现代化的最活跃因素推动社会迈向现代化的最活跃因素l计算机科学与技术成为二战以来发展最快、影响最为深远计算机科学与技术成为二战以来发展最快、影响最为深远的新兴学科之一的新兴学科之一l已经在世界范围内发展成为一种极富生命力的产业已经在世界范围内发展成为一种极富生命力的产业l目前,计算机已经被广泛地应用于国防、科教、卫生、工目前,计算机已经被广泛地应用于国防、科教、卫生、工农业生产、生活的各个领域,使人类迈入了信息化时代。农业生产、生活的各个领域,使人

3、类迈入了信息化时代。什么是计算机?什么是计算机? 计算机是电子数字计算机的简称,是一种自动地、高计算机是电子数字计算机的简称,是一种自动地、高速地进行数值运算和信息处理的电子设备,是一种按程序速地进行数值运算和信息处理的电子设备,是一种按程序自动进行信息处理的通信工具。自动进行信息处理的通信工具。 1.1 计算机软硬件组成1.2 计算机工作原理1.3 计算机中的数制及其转换1.4 计算机中的数字字符等编码第一章第一章 计算机组成原理及其数制与编码计算机组成原理及其数制与编码1.1.1 计算机的发展简史计算机的发展简史计算机的发展简史计算机的发展简史 在现代计算机问世之前,计算机在现代计算机问世

4、之前,计算机的发展经历了三个阶段。的发展经历了三个阶段。l机械计算机机械计算机l机电计算机机电计算机l萌芽期的电子计算机萌芽期的电子计算机1.1 1.1 计算机软硬件组成计算机软硬件组成1机械计算机机械计算机 从从17世纪到世纪到19世纪中期长达世纪中期长达200多年多年的时间里,一批杰出的科学家相继进行了的时间里,一批杰出的科学家相继进行了机械计算机的研制,其中的代表人物有帕机械计算机的研制,其中的代表人物有帕斯卡(斯卡(Blaise Pascal)、莱布尼茨)、莱布尼茨(Gottfried Leibniz)和巴贝奇)和巴贝奇(Charles Babbage)。)。计算机的发展简史计算机的发

5、展简史 1642年,法国数学家帕斯年,法国数学家帕斯卡采用与钟表类似的齿轮传动卡采用与钟表类似的齿轮传动装置,制成了最早的十进制加装置,制成了最早的十进制加法机。法机。 德国著名的数学家莱布尼德国著名的数学家莱布尼兹于兹于1673年发明了乘法机,年发明了乘法机,这是第一台可以运行完整的四这是第一台可以运行完整的四则运算的计算机。则运算的计算机。计算机的发展简史计算机的发展简史1642 Blaise Pascal加法器加法器加法器加法器莱布尼兹和他的乘法机莱布尼兹和他的乘法机莱布尼兹和他的乘法机莱布尼兹和他的乘法机英国数学家巴贝奇在英国数学家巴贝奇在1822年发明年发明差分机,专门用于航海和天文

6、计差分机,专门用于航海和天文计算。这是最早采用寄存器(齿轮算。这是最早采用寄存器(齿轮式装置)来存储数据的计算机,式装置)来存储数据的计算机,体现了早期程序设计思想的萌芽。体现了早期程序设计思想的萌芽。1833年,巴贝奇设计了一种程序年,巴贝奇设计了一种程序控制的通用分析机。控制的通用分析机。计算机的发展简史计算机的发展简史1822 1822 差分机差分机1833 1833 分析机分析机Charles BabbageCharles Babbage2从机电计算机到萌芽期的电子计算机从机电计算机到萌芽期的电子计算机 计算机的发展简史计算机的发展简史MARK IMARK I1938年,德国科学家祖思

7、(年,德国科学家祖思(Konrad Zuse)制造出一台纯机械结构的)制造出一台纯机械结构的Z-1计算机,这是第一台采用二进制的计计算机,这是第一台采用二进制的计算机。算机。 1944年,美国科学家艾肯年,美国科学家艾肯(Howard Aiken)在)在IBM公司公司(International Business Machine)的支持下,研制成功机电)的支持下,研制成功机电计算机计算机MARK-。3电子计算机的诞生电子计算机的诞生 为了解决弹道曲线的计算问为了解决弹道曲线的计算问题,题,1943年在美国陆军部的主持年在美国陆军部的主持下,美国宾夕法尼亚大学莫尔电下,美国宾夕法尼亚大学莫尔电工

8、系的工系的John Mauchly和和Presper Eckert博士开始研制人类历史上博士开始研制人类历史上第一台通用数字电子计算机。第一台通用数字电子计算机。 1946年年 2月月15日,在美国宾夕法日,在美国宾夕法尼亚大学莫尔学院举行了揭幕典尼亚大学莫尔学院举行了揭幕典礼。这台机器名为礼。这台机器名为“电子数字积电子数字积分计算机分计算机”(Electronic Numerical Integrator and Calculator,ENIAC)计算机的发展简史计算机的发展简史电子计算机时代电子计算机时代 第一台电子计算机(第一台电子计算机(ENIAC)5000次加法次加法/秒秒体重体重

9、28吨吨占地占地170m218800只电子管只电子管1500个继电器个继电器功率功率150KW ENIAC是世界上第一台真正意义上的通用电子数字计算机是世界上第一台真正意义上的通用电子数字计算机。它的问世,标志着人类计算工具发生了历史性的变革,人类。它的问世,标志着人类计算工具发生了历史性的变革,人类从此进入了电子计算机的新时代。从此进入了电子计算机的新时代。4计算机体系结构的形成计算机体系结构的形成 1834年巴贝奇设计的分析机就有了今天计算机年巴贝奇设计的分析机就有了今天计算机的雏形。冯的雏形。冯诺伊曼提出了存储程序通用电子计算诺伊曼提出了存储程序通用电子计算机方案机方案电子离散变量自动计

10、算机电子离散变量自动计算机(Electronic Discrete Variable Automatic Computer,EDVAC)方案。方案。 计算机系列产品很多,其外形、性能指标及功计算机系列产品很多,其外形、性能指标及功能强弱差异也很大,但基本工作原理都遵循科学家能强弱差异也很大,但基本工作原理都遵循科学家冯冯诺依曼早年提出的诺依曼早年提出的“存储程序、顺序执行指令存储程序、顺序执行指令”的原理,即所谓冯的原理,即所谓冯诺依曼原理。计算机结构的诺依曼原理。计算机结构的基本组成是根据该原理设计的,因此计算机也称为基本组成是根据该原理设计的,因此计算机也称为冯冯.诺依曼型计算机。诺依曼型

11、计算机。 计算机的发展简史计算机的发展简史1.1.2 冯冯诺依曼体系结构诺依曼体系结构存储程序工作原理存储程序工作原理 计算机的两个基本能力:一是能够存储程序,二是能够自动地执行程计算机的两个基本能力:一是能够存储程序,二是能够自动地执行程序。计算机是利用序。计算机是利用“存储器存储器”(内存)来存放所要执行的程序的,而称(内存)来存放所要执行的程序的,而称之为之为CPU的部件可以依次从存储器中取出程序中的每一条指令,并加以的部件可以依次从存储器中取出程序中的每一条指令,并加以分析和执行,直至完成全部指令任务为止。分析和执行,直至完成全部指令任务为止。John von Neumann现代计算机

12、之父现代计算机之父 冯冯 诺依曼诺依曼1949 EDSACEDSAC( (剑桥大学剑桥大学剑桥大学剑桥大学M.WilkesM.Wilkes教授教授教授教授) ) 冯诺依曼体系结构:冯诺依曼体系结构:把需要的程序和数据送至计算机中。必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作。能够按照要求将处理结果输出给用户。 冯冯诺依曼计算机诺依曼计算机输入设备输入设备输入设备输入设备运算器运算器运算器运算器存储器存储器存储器存储器控制器控制器控制器控制器输出设备输出设备输出设

13、备输出设备输入数据输入数据和程序和程序记忆程序记忆程序和数据和数据完成数据完成数据加工处理加工处理控制程序控制程序执行执行输出处输出处理结果理结果(外)存储器(外)存储器(外)存储器(外)存储器(内)存储器内)存储器内)存储器内)存储器控制器控制器数据流数据流地地 址址控制流控制流运算器运算器 1.1.3 计算机硬件基本组成计算机硬件基本组成 1. 输入设备和输出设备输入设备和输出设备 什么是输入输出?计算机中的输入输出是以计算机主什么是输入输出?计算机中的输入输出是以计算机主机为主体而言的。从外部设备将信息(包括原始数据、程机为主体而言的。从外部设备将信息(包括原始数据、程序等)传送到计算机

14、内存储器称为输入,从计算机内部向序等)传送到计算机内存储器称为输入,从计算机内部向外部设备传送信息称为输出。外部设备传送信息称为输出。 输入设备接收用户提交给计算机的程序、数据及其他输入设备接收用户提交给计算机的程序、数据及其他各种信息,并把它们转换成计算机能够识别的二进制代码,各种信息,并把它们转换成计算机能够识别的二进制代码,送给内存储器。送给内存储器。2. 存储器存储器 存储器是用于存放原始数据、程序以及计算机运算结存储器是用于存放原始数据、程序以及计算机运算结果的部件。存储器是由大量的基本存储元件组成的,每一果的部件。存储器是由大量的基本存储元件组成的,每一个基本存储元件存储一位二进制

15、数据个基本存储元件存储一位二进制数据“0”或或“1”。 1.1.3 计算机硬件基本组成计算机硬件基本组成 内存储器内存储器用来存放当前需要处理的原始数据及需要运行的程序,CPU 可直接访问。微型计算机的内存普遍采用了大容量的半导体存储器,根据使用功能的不同,半导体存储器可分为随机存取存储器(Random Access Memory,RAM)和只读存储器(Read Only Memory,ROM)两种。RAM的特点是:用户既可以从中读出信息,又可以将信息写入其中;断电后RAM中所存储的信息将全部丢失。ROM的特点是:用户只能从中读出信息,不能将信息写入其中;断电以后,ROM中所存储的信息不会丢失

16、。 外存储器外存储器用来存放当前暂不需要处理的原始数据及不需要运行的程序,不能被 CPU 直接访问,外存储器的数据只有先调入内存才能被 CPU 访问。常见的外存主要有软盘、硬盘和光盘(Compact Disk Read Only Memory,CD-ROM),它们都必须通过各自的驱动器才能进行读写操作。3.控制器控制器 控制器是整个计算机的控制中心,它按照从内存储器控制器是整个计算机的控制中心,它按照从内存储器中取出的指令,向其他部件发出控制信号,使计算机各部中取出的指令,向其他部件发出控制信号,使计算机各部件协调一致地工作,另一方面它又不停地接收由各部件传件协调一致地工作,另一方面它又不停地

17、接收由各部件传来的反馈信息,并分析这些信息,决定下一步的操作,如来的反馈信息,并分析这些信息,决定下一步的操作,如此反复,直到程序运行结束。此反复,直到程序运行结束。4.运算器运算器 运算器又称算术逻辑单元运算器又称算术逻辑单元(Arithmetic Logic Unit,ALU)。 它接受由内存送到的二进制数据并对其进行算术它接受由内存送到的二进制数据并对其进行算术运算和逻辑运算。运算和逻辑运算。1.1.4 计算机系统的组成计算机系统的组成计算机软件计算机软件 一般来说,软件是计算机程序以及与程序有关一般来说,软件是计算机程序以及与程序有关的各种文档的总称。按软件的功能来分,软件可分的各种文

18、档的总称。按软件的功能来分,软件可分为系统软件和应用软件两大类。系统软件又可分为为系统软件和应用软件两大类。系统软件又可分为操作系统、语言处理程序、数据库管理系统和支撑操作系统、语言处理程序、数据库管理系统和支撑软件等。软件等。 1. 系统软件系统软件 系统软件是在硬件基础上对硬件功能的扩充与完系统软件是在硬件基础上对硬件功能的扩充与完善,其功能主要是控制和管理计算机的硬件资源、善,其功能主要是控制和管理计算机的硬件资源、软件资源和数据资源,提高计算机的使用效率,发软件资源和数据资源,提高计算机的使用效率,发挥和扩大计算机的功能,为用户使用计算机系统提挥和扩大计算机的功能,为用户使用计算机系统

19、提供方便。供方便。 操作系统操作系统 操作系统操作系统(Operating System,OS)是为了控制和管理是为了控制和管理计算机的各种资源,以充分发挥计算机系统的工作效率和计算机的各种资源,以充分发挥计算机系统的工作效率和方便用户使用计算机而配置的一种系统软件。操作系统是方便用户使用计算机而配置的一种系统软件。操作系统是直接运行在计算机上的最基本的系统软件,是系统软件的直接运行在计算机上的最基本的系统软件,是系统软件的核心,任何计算机都必须配置操作系统。核心,任何计算机都必须配置操作系统。操作系统是管理和控制计算机系统软件、硬件和系统操作系统是管理和控制计算机系统软件、硬件和系统资源的大

20、型程序,是用户和计算机之间的接口。操作系统资源的大型程序,是用户和计算机之间的接口。操作系统的主要作用是提高系统资源的利用率,为用户提供方便友的主要作用是提高系统资源的利用率,为用户提供方便友好的用户界面和软件开发与运行环境。好的用户界面和软件开发与运行环境。 语言处理程序语言处理程序 程序设计语言是人们为了描述解题步骤程序设计语言是人们为了描述解题步骤(即编程序即编程序)而设而设计的一种具有语法语义描述的记号。按其发展分为机器语言、计的一种具有语法语义描述的记号。按其发展分为机器语言、汇编语言和高级语言。汇编语言和高级语言。数据库管理系统数据库管理系统(Database Management

21、 System,DBMS) 数据库管理系统(数据库管理系统(Database Management System,DBMS)是指提供各种数据管理服务的计算机软件系统,这)是指提供各种数据管理服务的计算机软件系统,这种服务包括数据对象定义、数据存储与备份、数据访问与更种服务包括数据对象定义、数据存储与备份、数据访问与更新、数据统计与分析、数据安全保护、数据库运行管理以及新、数据统计与分析、数据安全保护、数据库运行管理以及数据库建立和维护等。数据库建立和维护等。 支撑软件支撑软件 支撑软件是用于支持软件开发、调试和维护的软件,可支撑软件是用于支持软件开发、调试和维护的软件,可帮助程序员快速、准确、

22、有效地进行软件研发、管理和评测帮助程序员快速、准确、有效地进行软件研发、管理和评测2. 应用软件应用软件 应用软件是为满足用户不同领域、不同问题应用软件是为满足用户不同领域、不同问题的应用要求而开发的软件。应用软件可以拓宽计的应用要求而开发的软件。应用软件可以拓宽计算机系统的应用领域,扩大硬件的功能,又可以算机系统的应用领域,扩大硬件的功能,又可以根据应用的不同领域和不同功能划分为若干子类,根据应用的不同领域和不同功能划分为若干子类,例如,财务软件、办公软件、计算机辅助设计例如,财务软件、办公软件、计算机辅助设计(CAD)(CAD)软件等。软件等。1.1.4 计算机系统的组成计算机系统的组成单

23、用户操作系统单用户操作系统多用户操作系统多用户操作系统网络户操作系统网络户操作系统操作系统操作系统 汇编程序汇编程序 解释程序解释程序 编译程序编译程序语言处理程序语言处理程序数据库管理系统数据库管理系统诊断与维护程序诊断与维护程序调试程序调试程序服务程序服务程序系统软件系统软件软件包软件包用户程序用户程序应用软件应用软件软件软件3 计算机系统计算机系统 计算机是一个系统,包括硬件系统和软件系统计算机是一个系统,包括硬件系统和软件系统两大部分。计算机硬件是看得见、摸得着的物体,两大部分。计算机硬件是看得见、摸得着的物体,是组成计算机系统的各部件的总称。一台计算机之是组成计算机系统的各部件的总称

24、。一台计算机之所以能够处理各种问题,具有很大的通用性,能够所以能够处理各种问题,具有很大的通用性,能够代替人们进行一定的脑力劳动,是因为人们把要处代替人们进行一定的脑力劳动,是因为人们把要处理这些问题的方法,分解成为计算机可以识别和执理这些问题的方法,分解成为计算机可以识别和执行的步骤,并以计算机可以识别的形式存储到了计行的步骤,并以计算机可以识别的形式存储到了计算机中。也就是说,在计算机中存储了解决这些问算机中。也就是说,在计算机中存储了解决这些问题的程序。计算机软件就是计算机程序及其有关文题的程序。计算机软件就是计算机程序及其有关文档。档。1.1.4 计算机系统的组成计算机系统的组成计算机

25、系统的组成计算机系统的组成1.2 计算机基本工作原理计算机基本工作原理 1.指令和程序指令和程序 指令指令指令指令是对计算机进行程序控制的是对计算机进行程序控制的最小单位最小单位最小单位最小单位。 通常一条指令对应着一种基本操作。一个计算机能执行什通常一条指令对应着一种基本操作。一个计算机能执行什么样的指令,有多少条指令,这是由设计人员在设计计算机么样的指令,有多少条指令,这是由设计人员在设计计算机时决定的。时决定的。 所有的指令的所有的指令的集合集合集合集合称为计算机的称为计算机的指令系统指令系统指令系统指令系统(Instruction Set) 。 程序程序程序程序是为完成一项特定任务而用

26、某种语言编写的是为完成一项特定任务而用某种语言编写的一组指一组指一组指一组指令序列令序列令序列令序列。机器指令格式机器指令格式操作码操作码 操作数操作数机器执行什么操作机器执行什么操作执行对象(具体数、存放位置)执行对象(具体数、存放位置)PC+11.2 计算机基本工作原理计算机基本工作原理2.2.计算机的工作原理计算机的工作原理 按照冯按照冯诺依曼的存储程序思想,利用计算诺依曼的存储程序思想,利用计算机解题首先要把指挥计算机如何进行操作的指令机解题首先要把指挥计算机如何进行操作的指令序列序列( (即程序即程序) )和原始数据通过输入设备输送到计和原始数据通过输入设备输送到计算机内存储器中,计

27、算机运行时,依次从内存中算机内存储器中,计算机运行时,依次从内存中取出一条条指令,控制器对指令进行分析判断,取出一条条指令,控制器对指令进行分析判断,按照指令要求,发出不同的控制信号,在控制器按照指令要求,发出不同的控制信号,在控制器的指挥下完成规定的操作,直到完成全部操作为的指挥下完成规定的操作,直到完成全部操作为止。所以,计算机的工作原理可以概括为存储程止。所以,计算机的工作原理可以概括为存储程序和程序控制。序和程序控制。1.3 计算机中的数制计算机中的数制 在计算机内部,数据的存储和处理都是采用二进制数,主要原因是:(1)二进制数在物理上最容易实现。(2)二进制数的运算规则简单。(3)二

28、进制数的两个数字符号“1”和“0”正好与逻辑命题的两个值“真”和“假”相对应,为计算机实现逻辑运算和程序中的逻辑判断提供了便利的条件。 但二进制数书写冗长、易错、难记,所以为书写方便,一般用十六进制数或八进制数作为二进制数的简化表示。1.3 计算机中的数制计算机中的数制1进位计数制进位计数制 按进位的原则进行计数的方法称为进位计数制。在采用进位计数的数字系统中,如果用r个基本符号(例如0,1,2,r-1)表示数值,则称其为基基r数制数制(Radix-r Number System),r成为该数制的基基数数(Radix),而数制中每一数字位置上对应的固定值称为权值权值(Weight Value)

29、。对于不同的数制,它们的共同特点是:(1)每一种数制都有固定的符号集。(2)每一个数字符号在不同的位置上具有不同的值任意任意r进制数进制数N可表示为:可表示为: di为该数制采用的基本数符,r为基数,ri是数位的权值,m为整数部分的位数,k为小数部分的位数。例:(523.64)8=5*82+2*81+3*80 +6*8-1+4*8-2 (321.9)10=3*102+2*101+1*100+9*10-1“位位”和和“基数基数”是进位计数值中的两个是进位计数值中的两个要素。要素。十进制:逢十进一二进制:逢二进一r进制:逢r进一 计算机中常用的进位计数制:二进制二进制(Binary system)

30、、十进制十进制(Decimal system)、八进制八进制(Octal system)和十六十六进制进制(Hexadecimal system)。 表示方法为:(95.8)10或(95.8)D,(1011.01)2或(1011.01)B2 2任意任意r r进制数转换为十进制数进制数转换为十进制数 将r进制数按权展开后,再求和,所得结果即为这个r进制数所对应的十进制数。例:例:(11011.11)2124123022121120 12-1 12-2 =(27.75)10(317.2)8 382+181+780+281(207.25)10 (3C5.4)163162+12161+5160+416

31、-1 (965.25)103十进制数转换为任意十进制数转换为任意r进制数进制数 将十进制数转换成r进制数时,要将数的整数部要将数的整数部分和小数部分分别进行转换,分别按除分和小数部分分别进行转换,分别按除r取余数和乘取余数和乘r取整数两种不同的方法来完成取整数两种不同的方法来完成。 以十进制数转换成二进制数为例,对整数部分,用2去除,取其余数为转换后的二进制整数数字,直到商为0结束,且注意先得到的余数为所求结果的低注意先得到的余数为所求结果的低位位;对小数部分,用2去乘,取乘积的整数部分为转换后的二进制小数数字,注意先得到的整数为二进制注意先得到的整数为二进制小数的高位小数的高位。例:十进制例

32、:十进制57.87557.875转换为二进制?转换为二进制? 余数余数 2 2 57 57 1 1 (低位)(低位) 2 2 28 28 0 0 2 2 14 14 0 0 2 2 7 7 1 1 2 2 3 3 1 1 2 2 1 1 1 1 (高位)(高位) 0 0 所以所以(57)(57)1010(111001)(111001)2 2 乘积的整数部分乘积的整数部分 0 0875875 2 2 1.750 1 1.750 1 (高位)(高位) 2 2 1.500 1 1.500 1 2 2 1.000 1 1.000 1 (低位)(低位) 所以所以(0.875)(0.875)1010(0.

33、111)(0.111)2 2 所以:所以:(57.875)(57.875)1010=(111001.111)=(111001.111)2 2练习:练习:十进制转换成8进制 (1000)10=(?)8 8 8 125 125 5 58 8 15 15 7 78 8 1 1 1 1答案:(1750)8 低位低位高位高位8 8 1000 1000 0 04 4二进制数与八进制数、十六进制数的二进制数与八进制数、十六进制数的转换转换 一位八进制数可用3位二进制数表示,一位十六进制数可用4位二进制数表示,因此八进制、十六进制只是二进制的一种简化表示形式。(1)二进制转换为八进制或十六进制)二进制转换为八

34、进制或十六进制 在把二进制数转换成八进制或十六进制表示形式时,应从小数点分别向左和向右按每3位或每4位进行划分,若小数点左侧(即整数部分)的位数不足3或4位,则在高位补0,对小数点右侧(即小数部分),则应在低位补0来补足3位或4位。划分后,3位或4位二进制数用1位八进制数或十六进制数来表示。例:例:(1100111.10101101)2=(001 100 111.101 011 010)2=(147.532)8(11001.101)2=(0001 1001.1010)2=(19.A)16(2)八进制或十六进制转换为二进制)八进制或十六进制转换为二进制 与上述相反,将八进制数或十六进制数转换成二

35、进制表示形式时,则每位分别用3位或4位二进制来表示。例:例:(31.5)8=(011 001.101)2 =(11001.101)2 (5DE.B8)16 =(0101 1101 1110.1011 1000)2 =(10111011110.10111)2计算机中数的表示计算机中数的表示1机器数和真值机器数和真值 在计算机中只能用数字化信息来表示数的正、负,人们规定用规定用0表示正号,用表示正号,用1表示负号表示负号。 在计算机内部,数字和符号都用二进制码表示,两者合在一起构成数的机内表示形式,称为机器数机器数,而它真正表示的数值称为这个机器数的真值真值。0 1 0 1 1 0 1 01 1

36、0 1 1 0 0 1用8为二进制表示-89机器中用8位二进制数表示+90符号位,0表示正符号位,1表示负1.4 计算机中的数字字符等编码2 2定点数和浮点数定点数和浮点数 在计算机中,一般用若干个二进制位表示一个数或一条指令,把它们作为一个整体来处理、存储和传送。这种作为一个整体来处理的二进制位串,称为计算机字计算机字。表示数据的字称为数据字数据字,表示指令的字称为指令字指令字。 计算机中运算的数,有整数,也有小数,如何确定小数点的位置呢?通常有两种约定:一种是规定小数点的位置固定不变小数点的位置固定不变,这时的机器数称为定定点数点数。另一种是小数点的位置可以浮动小数点的位置可以浮动,这时的

37、机器数称为浮点数浮点数。微型计算机多选用定点数。1.4 计算机中的数字字符等编码(1)定点数)定点数 数的定点是指数据字中的小数点的位置是固定不变的。小数点位置可以固定在符号位之后,这时,数据字就表示一个纯小数纯小数。 如果把小数点位置固定在数据字的最后,这时,数据字就表示一个整数整数。 定点表示法所能表示的数值范围很有限,为了扩大定点数的表示范围,可以通过编程技术,采用多个字节来表示一个定点数,例如,采用4个字节或8个字节等。00000000000000111111111111111110符号位符号位数值部分.(小数点)数值部分.(小数点)= -2-15=+32767(2)浮点数)浮点数 浮

38、点表示法就是小数点在数中的位置是浮动的小数点在数中的位置是浮动的。在以数值计算为主要任务的计算机中,由于定点表示法所能表示的数的范围太窄,不能满足计算问题的需要,因此就要采用浮点表示法。在同样字长的情况下,浮点表示法能表示的数的范围扩大了。 计算机中的浮点表示法包括两个部分:一部分一部分是阶码,表示指数,记作是阶码,表示指数,记作E;另一部分是尾数,表另一部分是尾数,表示有效数字,记作示有效数字,记作M。采用浮点表示法,二进制数N可以表示为:N=M2E,其中2为基数,E为阶码,M为尾数。 由尾数部分隐含的小数点位置可知,尾数总是小于1的数字,它给出该浮点数的有效数字。尾数部分的符号位确定该浮点

39、数的正负。阶码给出的总是整数,它确定小数点浮动的位数,若阶符为正,则向右移动;若阶符为负,则向左移动。 在浮点数表示和运算中,当一个数的阶码大于机器所能表示的最大码时,产生“上溢上溢”。上溢时机器一般不再继续运算而转入“溢出”处理。当一个数的阶码小于机器所能代表的最小阶码时产生“下溢下溢”,下溢时一般当作“机器零”来处理。(2)浮点数)浮点数3原码、反码和补码表示法原码、反码和补码表示法 为运算方便,机器数有三种表示法,即原机器数有三种表示法,即原码、反码和补码码、反码和补码。(1)原码)原码 原码是用机器数的最高(最左)一位表示符号,其余各位给出数值的绝对值,即正数的最高位为0,负数最高位为

40、1,其余各位表示数值的大小。例例1:1111111111111110符号位数值部分=+32767例例2:X1=+52, X2=-52则X1原=0 0110100 最高位0为符号位 X2原=1 0110100 最高位1为符号位真值数真值数原码机器数原码机器数采用原码表示时,数的真值和其原码之间的对应关采用原码表示时,数的真值和其原码之间的对应关系简单,易转换。对于真值零,有正零和负零:系简单,易转换。对于真值零,有正零和负零: +0原=00000 -0原=10000(2)反码)反码 反码用机器数的最高一位表示符号,数值位是对负数各位取反的表示方法。即正数的反正数的反码为其原码形式;负数的反码最高

41、位为码为其原码形式;负数的反码最高位为1,数,数值位为原码逐位求反而得到值位为原码逐位求反而得到。例:例:X1=+52, X2=-52则X1反=0 0110100,与其原码的形式相同 X2反=1 1001011 +0反=00000 -0反=11111(3)补码)补码 因原码与反码对于真值零均有两种不同的编码,引出了补码表示法,目前大多数计算机中数据的运算都采用补码形式。 正数的补码最高符号位为0,数值位为其数值大小,即正数的补码仍为其原码正数的补码仍为其原码。因此正数的原码、反码、补码是正数的原码、反码、补码是同一个编码同一个编码。 负数的补码最高符号位为负数的补码最高符号位为1,数值位各位取

42、反,最低位,数值位各位取反,最低位加上加上1,即,即X补补=X反反+1。 另从补码求其原码时,也可采用将其补码各位取反后,再最低位加1的方法得到其原码。在补码表示中,真值零的表示是惟一的,均为在补码表示中,真值零的表示是惟一的,均为00000000。数据的二进制编码数据的二进制编码1十进制数的二进制编码十进制数的二进制编码 用二进制编码来表示十进制数的编码就称为二十进制码,简称简称BCD(Binary Coded Decimal)码码。这种编码的特点是保留了十进制的权,而数字则用0和1的组合来表示。 常见的常见的BCD码有码有8421码、余码、余3码,格雷码,格雷(Gray)码码等,它是用4位

43、二进制数表示1位十进制数字,既具有二进制的形式,又具有十进制的特点。而4位二进制数,有16种不同的组合状态,从中选出10种来表示十进制数的09,有多种选择方法,在此只介绍常用的几种。1.4 计算机中的数字字符等编码(1)十进制有权码)十进制有权码 有权码是指表示十进制数的4位二进制数中的每一位都有一个确定的权值。用得最普遍的是8421码码,4位二进制数中的每一位从左到右的权分别为8,4,2,1。根据这种权的定义,数字09的8421码为0000、0001、0010、1001。一个十进制数转换成8421码非常方便,就是把每一位十进制数用对应的8421码表示,如十进制数259所对应的8421码为00

44、10 0101 1001。 BCD码与二进制数之间的转换不是直接的,要先转换为十进制数,然后再转换成二进制数,反之亦然。例:(1111001.01000101)BCD=(79.45)10=(1001111.0111)2(2 2)十进制无权码)十进制无权码 无权码指的是表示一个十进制数的4位二进制数的每一位没有确定的权值。常用的无权码有余常用的无权码有余3 3码和格雷码码和格雷码。 余余3 3码是在码是在84218421码的基础上每码的基础上每4 4位加位加00110011而得到而得到。 自然二进制码可以直接由数/模转换器转换成模拟信号,但某些情况,例如从十进制的3转换成4时二进制码的每一位都要

45、变,使数字电路产生很大的尖峰电流脉冲。而格雷码在任意两个相邻的数之间转换时,只有一个数位发生变化,大大地减少了由一个状态到下一个状态时逻辑的混淆。格雷码格雷码的编码规则是使相邻两代码之间只有一位是不同的,代码变换是连续的,用于计数器译码,在产生各种控制信号时特别有用。另外由于最大数与最小数之间也仅一个数不同,故通常又叫格雷反射码或循环码。二进制码二进制码-格雷码(编格雷码(编码):从最右边一位起,码):从最右边一位起,依次将每一位与左边一依次将每一位与左边一位异或位异或(XOR)(XOR),作为对,作为对应格雷码该位的值,最应格雷码该位的值,最左边一位不变。左边一位不变。 格雷码格雷码- -二

46、进制码二进制码(解码):从左边第二(解码):从左边第二位起,将每位与左边一位起,将每位与左边一位解码后的值异或,作位解码后的值异或,作为该位解码后的值(最为该位解码后的值(最左边一位依然不变)。左边一位依然不变)。 进制数进制数自然二进制数自然二进制数格雷码格雷码0000000001000100012001000113001100104010001105010101116011001017011101008100011009100111011010101111111011111012110010101311011011141110100115111110002字符的二进制编码字符的二进制编码

47、字符是计算机中另一种重要的数据形式,它们也必字符是计算机中另一种重要的数据形式,它们也必须按特定的规则用二进制编码表示。编码可以有各种须按特定的规则用二进制编码表示。编码可以有各种方式,目前在微机中最普遍采用的是方式,目前在微机中最普遍采用的是ASCII 码,即美码,即美国标准信息交换码国标准信息交换码(American Standard Code for Information Interchange)。 ASCII码是码是7位二进制码,可表示位二进制码,可表示27=128种字符,种字符,其中包括其中包括09十个数字、十个数字、52个大小写英文字母、个大小写英文字母、32个个控制字符,其他为

48、专用字符。如控制字符,其他为专用字符。如“A”的的ASCII码为码为1000001B(41H),十进制数是十进制数是65。ASCII码字符表码字符表 由于在计算机中一个字节为由于在计算机中一个字节为8个二进制位,它是信个二进制位,它是信息存取的最基本单位,因此常用一个字节来表示一个息存取的最基本单位,因此常用一个字节来表示一个ASCII码,它的最高位通常为码,它的最高位通常为0。 ASCII码值从小到大的编码顺序是控制字符、数字、码值从小到大的编码顺序是控制字符、数字、大写字母、小写字母;大写字母、小写字母;94个图形字符的个图形字符的ASCII码为码为21H7EH;小写字母比对应的大写字母;

49、小写字母比对应的大写字母ASCII码值大码值大32。 ASCII码是码是7位二进制码,可表示位二进制码,可表示27=128种字符,其中包括种字符,其中包括09十个数字、十个数字、52个大小写英文字母、个大小写英文字母、32个控制字符,其它为个控制字符,其它为专用字符。如专用字符。如“A”的的ASCII码为码为1000001B(41H),十进制数是,十进制数是65。3. 汉字的二进制编码汉字的二进制编码 (1) 国标码与区位码国标码与区位码 为了适应汉字信息处理的需要,1981年我国颁布了信息交换用汉字编码字符集基本集,简称GB231280。它规定了信息处理交换用的6763个汉字和682个图形字

50、符的编码。其中汉字分为两级,第一级3755个,按汉语拼音字母顺序排列,同音字以笔划顺序为序。第二级3008个,按部首顺序排列。 (2) 汉字内码汉字内码 汉字内码汉字内码是指汉字在计算机内部进行存储和加工处理时所使用的代码。 目前汉字的内码大多采用基于国际码的两字节法,且把国际码每个字节的最高位都置1。 汉字国标码、区位码及内码的转换关系是: 国标码高字节区号(用十六进制)20H 国标码低字节位号(用十六进制)20H 内码高字节国标码高字节80H 内码低字节国标码低字节80H 汉字输入方式有很多,但汉字的内码是统一的汉字输入方式有很多,但汉字的内码是统一的。(3)汉字的输入)汉字的输入 汉字的

51、输入方法很多,众多的输入方法可归纳成三大类:键盘输入法、字形识别法和语音识别法。 汉字输入编码很多,可归纳为四类:数字编码、字音编码、字形编码和音形编码。 如:拼音输入法、五笔字型输入法(4 4)汉字的输出)汉字的输出 在计算机内部,只对汉字内码进行处理在计算机内部,只对汉字内码进行处理,不涉及汉字本身的字形。若要输出汉字处理的结果,则必须把汉字内码还原成汉字字形。一个字符集的所有字符的形状描述信息集合在一起称为该字符集的字形信息库,简称字库字库。 不同的字体(如宋、仿、楷、黑等)有不同的字库。每输出一个汉字,都必须根据内码到字库中找出该汉字的字形描述信息,再送去显示或打印。 描述字符(包括汉

52、字)字形的方法主要有两种:描述字符(包括汉字)字形的方法主要有两种:点阵字形和轮廓字形点阵字形和轮廓字形。 (5 5)汉字编码标准集的扩充)汉字编码标准集的扩充 1993年国际标准化组织发布了通用多八位编码字符集(Universal Coded Character Set,UCS)的国际标准ISO/IEC 10646-1。 我国等同采用此标准制定了新的中文编码扩展国家标准GB 13000.1-1993,并提出了汉字内码扩展规范GBK-1995。中文Windows 95/98采用的是GBKGBK大字符集大字符集,该字符集中收录的汉字多达20902个,比GB字符集的6763个增加了2倍以上。有了G

53、BK大字符集,以前遇到的生僻汉字现在几乎全能由计算机处理,这样大大地方便了用户。 国家标准GB18030-2000信息交换用汉字编码字符集 基本集的扩充是我国继GB2312-1980和GB13000-1993之后最重要的汉字编码标准,是我国计算机系统必须遵循的基础性标准之一。计算机运算基础计算机运算基础1 算术运算基础算术运算基础(1)加法运算)加法运算二进制数的加法规则:0+00 0+1=1+0=1 1+10(向高位产生进位)例例: (1101)2+(1011)2=(11000)2(2)减法运算)减法运算二进制数的减法规则:0-0=0 0-1=1(向高位借位1次) 1-0=1 1-1=0例例

54、: (10101010)2-(110101)2=(1110101)2(3)乘法运算)乘法运算二进制的乘法规则为:00=0 01=0 10=0 11=1例:例:(1100)2 (1001)2=(1101100)2(4)除法运算)除法运算二进制除法运算与十进制除法类似,也由减法、上商等操作逐步完成。例:例:(11110101)2 (1001)2=(11011)2(10)2计算机运算基础计算机运算基础2 逻辑运算基础逻辑运算基础 计算机中的逻辑关系是一种二值逻辑,逻辑运算的结果只有“真”或“假”两个值。二值逻辑很容易用二进制的0和1来表示,一般用用1表示真,用表示真,用0表示假表示假。逻辑值的每一位

55、表示一个逻辑值,逻辑运算是按对应位进行的,每位之间相互独立,不存在进位和借位关系,运算结果也是逻辑值。计算机运算基础计算机运算基础(1)与运算)与运算 与运算与运算又称逻辑乘逻辑乘,通常用或表示。运算规则为按位进行“与”运算,若进行“与”操作的两位均为1,则结果为1;两位中有一位为0,则结果为0。具体规则如下:00=0 01=0 10=0 11=1例例: (11001011)2(10100110)2=(10000010)2(2)或运算)或运算 或运算又称逻辑加或运算又称逻辑加,通常用或+表示。运算规则是按位进行“或”运算,若进行“或”操作的两位中有一位为1,则结果为1;两位均为0,则结果为0。

56、具体规则如下:00=0 01=1 10=1 11=1例:例: (11001011)2 (10100110)2=(11101111)2(3)非运算)非运算 非运算实现对单个逻辑值的处理,也称为逻辑取反操作,通常用表示。例:例:逻辑数11010101B进行非运算,结果为00101010B(4)异或运算)异或运算 上述与、或、非运算是三种最基本的逻辑操作,用它们可组合出任何逻辑功能。有时还要用到异或运算,通常用表示。其规则为按位进行异或运算,若进行异或操作的两位不相同时,则结果为1;两位相同时,则结果为0。具体规则如下:00=0 01=1 10=1 11=0例:例: (11010110)2 (10010011)2=(01000101)2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号