上海工程技术大学微机原理与接口技术yp第1章计算机基础_第1页
上海工程技术大学微机原理与接口技术yp第1章计算机基础_第2页
上海工程技术大学微机原理与接口技术yp第1章计算机基础_第3页
上海工程技术大学微机原理与接口技术yp第1章计算机基础_第4页
上海工程技术大学微机原理与接口技术yp第1章计算机基础_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第第1章章 计算机基础知识计算机基础知识2微机中的信息表示与运算微机中的信息表示与运算一一二二三三主主 要要 内内 容容微机系统的组成微机系统的组成几部分组成几部分组成 ? 微机的组成微机的组成3(1)微处理器)微处理器MP/CPU (2)存储器)存储器(3)I/O接口接口(4)系统总线)系统总线ABDBCB一、一、 微机的组成微机的组成 所谓所谓 微型计算机微型计算机 是指以大规模、超大规模是指以大规模、超大规模集成电路为主要部件的集成电路为主要部件的微处理器微处理器为核心,配以为核心,配以存存储器、输入输出接口电路及系统总线储器、输入输出接口电路及系统总线所制造出所制造出的系统。的系统。

2、4CPUI/O接口接口1I/O接口接口2微微 机机 的的 基基 本本 结结 构构存储器存储器ROM存储器存储器RAM数据总线数据总线DB控制总线控制总线CB地址总线地址总线AB硬盘硬盘软驱软驱显示器显示器打印机打印机 总线结构是微机系统的一大特色,正是由于采用了这总线结构是微机系统的一大特色,正是由于采用了这一结构才使得微机系统具有组态灵活、扩展方便等特点。一结构才使得微机系统具有组态灵活、扩展方便等特点。5冯诺依曼(Von Neumann)结构n也称普林斯顿结构,是一种将程序指令存储器和数据存储器并在一起的存储器结构。特点:n程序和数据公用一个存储空间;n程序指令存储地址和数据存储地址指向同

3、一个存储器的不同物理位置;n采用单一的地址及数据总线;n程序指令和数据的宽度相同。n处理器执行指令时,先从储存器中取出指令解码,再取操作数执行运算,即使单条指令也要耗费几个甚至几十个周期,在高速运算时,在传输通道上会出现瓶颈效应。 冯诺依曼(Von Neumann)结构哈佛结构哈佛结构(Harvard)n哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,是一种并行体系结构。特点:n将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址、独立访问。n与两个存储器相对应的是系统中的4套总线:程序的数据总线与地址总线,数据的数据总线与地址总线。n

4、这种分离的程序总线和数据总线可允许在一个机器周期内同时获取指令字(来自程序存储器)和操作数(来自数据存储器),从而提高了执行速度,使数据的吞吐率提高了1倍。又由于程序和数据存储器在两个分开的物理空间中,因此取指和执行能完全重叠。哈佛结构哈佛结构(Harvard)(1) MP/CPU 该芯片内集成了控制器、运算器和寄存器。运算器运算器是计算机中加工与处理数据的功能部件,是计算机中加工与处理数据的功能部件,主要有两个功能:主要有两个功能:对数据的加工处理(重要功能),通过其内部对数据的加工处理(重要功能),通过其内部的的ALU完成。完成。暂时存放参与运算的数据和某些中间结果,通暂时存放参与运算的数

5、据和某些中间结果,通常通过与常通过与ALU相连的相连的寄存器组寄存器组实现。实现。10微处理器飞速发展80386803868048680486奔腾奔腾奔腾奔腾2代代奔腾奔腾4代代802868028680868086奔腾奔腾3代代IA-64(安腾安腾)400440041971年1978年1983年1985年1989年1993年1997年1999年2000年酷睿酷睿2006年2001年11 在寄存器在寄存器组组中,中,累加器累加器是最繁忙的寄是最繁忙的寄存器。存器。 控制器控制器是控制整台计算机各功能部件是控制整台计算机各功能部件协同动作、自动执行计算机程序的功能部协同动作、自动执行计算机程序的功

6、能部件。件。12(2)存储器)存储器 存放程序和数据的部件存放程序和数据的部件。分为主存和。分为主存和辅存两类。主要由半导体存储器和磁盘、辅存两类。主要由半导体存储器和磁盘、光盘存储器等构成。光盘存储器等构成。造价、容量、速度有别。造价、容量、速度有别。构成构成内存内存的半导体存储器又分为的半导体存储器又分为ROM和和RAM。13 (3)I/O接口接口 各种外设的工作速度、驱动方式差异各种外设的工作速度、驱动方式差异很大,无法与很大,无法与CPU直接匹配,不可能把它直接匹配,不可能把它们简单地连到系统总线上,需要通过接口们简单地连到系统总线上,需要通过接口电路完成信号的变换、数据的缓冲、与电路

7、完成信号的变换、数据的缓冲、与CPU的联络等工作。的联络等工作。14传递信息的一组公用导线。传递信息的一组公用导线。AB _单向总线。单向总线。DB _双向的总线。双向的总线。CB _可能是输出、输入或双向的总线。可能是输出、输入或双向的总线。 在一个系统中,除了在一个系统中,除了CPU有控制总线的能有控制总线的能力外,力外,DMA控制器等设备也有控制总线的能控制器等设备也有控制总线的能力,称为力,称为“总线主控设备总线主控设备”。(4)系统总线)系统总线15微微 机机 系系 统统硬件硬件软件软件微微 机机外围设备外围设备电源电源系统软件系统软件程序设计语言程序设计语言应用软件应用软件微微 处

8、处 理理 器器存储器存储器I/O接口接口系统总线系统总线ALU控制器控制器寄存器组寄存器组ROMRAM串行接口串行接口并行接口并行接口辅助接口辅助接口ABCBDB外部设备外部设备过程过程I/O接口接口操作系统操作系统诊断程序诊断程序监控程序监控程序解释、编译程序解释、编译程序二、微机系统的组成二、微机系统的组成程序包程序包数据库数据库窗口软件窗口软件16I/OI/O设备设备n输入设备输入设备串行通信设备串行通信设备软盘、硬盘软盘、硬盘鼠标鼠标CDROM键盘键盘扫描仪扫描仪DVDn输出设备输出设备打印机(针打、激光、喷墨)打印机(针打、激光、喷墨)软盘、硬盘软盘、硬盘绘图仪绘图仪显示器显示器17

9、程序设计语言程序设计语言 机器语言:机器语言:0,1码的语言码的语言汇编语言:用助记符号代替用汇编语言:用助记符号代替用0,1描述的某种机器描述的某种机器 的指令系统的指令系统 面向问题(过程)的程序设计语言面向问题(过程)的程序设计语言高级语言:高级语言: 基于规则的语言基于规则的语言 Prolog 面向对象语言面向对象语言 C+,Java 18裸机裸机操操作作系系统统用用户户 程程序序各各种种实实用用程程 序序软软件件包包各各种种语语言言处处理理程程序序微机系统的层次结构19n硬件硬件(hardware)2021硬盘光驱显卡网卡软驱声卡CPU2223PC机上的总线PCI总线总线ISA总线总

10、线USB总线总线242526字长 字长是衡量计算机处理能力的重要指标,它是指计算机的CPU一次能直接处理的二进制数的位数,字长越大,处理能力越强。例如,8086、286的字长是16位,386、486、586(奔腾)都是32位。 微机主要性能指标27速度 衡量计算机速度常用的有两种指标:运算速度:用每秒钟能执行多少条指令来表示。国际上通用的指标是每秒百万条指令MIPSMIPS(Million Instructions Million Instructions Per SecondPer Second),通常用于较大的计算机系统。 主频:指CPU主时钟的工作频率(一秒钟内发生的同步脉冲数),主频越

11、高,说明CPU的速度越快,微型计算机都用主频这个指标。主频的单位为赫兹(MHz),早期的微机主频才几MHZ,而现在P4的主频已达到3GHz以上。例如,“P4/2.4GP4/2.4G”,“P4P4”表示CPU的型号(奔腾四代),“2.4G2.4G”就表示主频是2.4G2.4G赫兹 (GHz)28内存容量 通常用字节(ByteByte)作单位。目前,微型机的内存储容量已达到吉字节。 内存速度内存速度 微机内主存完成一次读微机内主存完成一次读/写操作所需的时间称为存储器写操作所需的时间称为存储器的的存取时间存取时间,连续两次读,连续两次读/写所需的最短时间称为存储器的写所需的最短时间称为存储器的存取

12、周期存取周期。存取周期越短,则存取速度越快。存取周期的大。存取周期越短,则存取速度越快。存取周期的大小影响计算机的运算速度。小影响计算机的运算速度。29n 数与数制数与数制n 数制之间的转换数制之间的转换n 字符的编码表示字符的编码表示n 运算运算n 带符号二进制的表示带符号二进制的表示三三 、微机中信息的表示与运算、微机中信息的表示与运算30 u它具有它具有0,1这这2个不同的数字符号;个不同的数字符号; 逢二进一(减法为借一当二)。逢二进一(减法为借一当二)。 (1) 二进制二进制n 书写:书写:10011110 or 10011110B or (10011110)2 2 称为二进制的称为

13、二进制的基数基数。注意:注意:二进制数中的任何一个二进制数中的任何一个0或或1称为比特称为比特(bit)1、 数与数制数与数制数制:用一组统一的符号和规则来表示数制:用一组统一的符号和规则来表示 数的数的方法方法。31n按权展开:按权展开: (110101)2=125+124+023 +122+021+120 再如再如, (1001.101)2=123022021 12012-102-2)或10(212iinmiikkN对于对于n位整数位整数m位小数的任意位小数的任意二进制二进制数数N, 按权展开如下按权展开如下32u它具有它具有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F这

14、这 16个不同的数字符号;个不同的数字符号; u逢逢十六十六进一(减法为借一当进一(减法为借一当十六十六)。)。n 书写:书写:( 3AB.11)16 or 3AB.11 H16 称为称为十六进制十六进制的的基数基数。(2)十六进制十六进制33n任意一个任意一个n位整数位整数m位小数十六进制数位小数十六进制数可表示为可表示为: (N)16K n-1 16 n-1K n-2 16 n-2K1161K0160K-1 16-1K-m 16 m n 例如例如:(2D07.A)162163131620161 71601016 -1inmiikN16.116(Ki=0,1,2,3,4,5,6,7,8,9,

15、A,B,C,D,E,F)34 练习练习:(10AF.12)16=1163+0162+10161+15160+116-1+216-2 说明说明: 实际表示时,一个十六进制数如果最高位数实际表示时,一个十六进制数如果最高位数字为字母字为字母(A-F), 则字母前面则字母前面加一个加一个 0,以便与变,以便与变量名等相区别。量名等相区别。如:如:0B76H35十进制十进制二进制二进制十六进十六进制制十进制十进制二进制二进制十六进十六进制制000910019111101010A2102111011B3113121100C41004131101D51015141110E61106151111F71117

16、161000010810008 下表下表 给出了三种数制的对应关系。给出了三种数制的对应关系。36数制小结n数制:用一组统一的符号和规则来表示数的方法。n二进制:每一位包含0、1两个数字,例如:10010011B 或 (10010011)2n十进制:每一位包含10个数字09,例如:1200Dn十六进制:每一位包含数字09,字母AF,例如:0A3D6H372、数制的相互转换数制的相互转换 (1) 二、十六进制二、十六进制数转换成数转换成十进制数十进制数 非十进制数转换成十进制数比较简单,可先将其按非十进制数转换成十进制数比较简单,可先将其按权展权展开开,再将,再将系数系数及及权权均用均用十进制十

17、进制表示,按十进制进行表示,按十进制进行乘法与加乘法与加法运算法运算,所得结果即为该数对应的十进制数。,所得结果即为该数对应的十进制数。 例例 : 将二进制数将二进制数 1101.101 转换为十进制数。转换为十进制数。 转换过程如下:转换过程如下: 1101.101 =123+122+021+120+12-1+02-2+12-3 =8+4+1+0.5+0.125 =13.625 1101.101B=13.62538n例例将十六进制数将十六进制数2AE.4H转换为十进制数。转换为十进制数。 2AE.4H =2162+10161+14160+416-1 =512+160+14+0.25 =686

18、.25 2AE.4H=686.25n练习,二进制数练习,二进制数101101.11换算成十进换算成十进制数为制数为 (101101.11)2=45.7539(2)十进制十进制数转换成数转换成二、十六进制数二、十六进制数 n 任一十进制数任一十进制数N转换成转换成q进制数,先将进制数,先将其分为整数部分与小数其分为整数部分与小数两两部分,并分别部分,并分别进行转换,然后再用进行转换,然后再用小数点小数点将这两部分将这两部分连接起来。连接起来。 40 1) 整数部分转换整数部分转换n 用用q去去除除N记记余数余数n 再再用用q去去除除得到的得到的商商记记余数余数n 重复重复,直至,直至商为零商为零

19、转换结束转换结束n 余数余数倒排倒排41 2 39 1 ( b0) 2 19 1 ( b1) 2 9 1 ( b2) 2 4 0 ( b3) 2 2 0 ( b4) 2 1 1 ( b5) 0例:39转换成二进制数转换成二进制数39 =100111B书写顺序书写顺序43 2) 小数部分转换小数部分转换n用用q去去乘乘N的的纯纯小数部分记下小数部分记下积积的的整整数数部分部分n再再用用q去去乘乘上步上步乘乘积的纯小数积的纯小数部分部分记整记整n重复直至乘积的重复直至乘积的小数部分为小数部分为零零,或者达到,或者达到所需要的所需要的精度位数为止精度位数为止n顺排顺排44例例:将十进制小数将十进制小

20、数0.71875转换成二进转换成二进制小数制小数. 书写顺序书写顺序45过程如下过程如下: 0.718752=1.4375 整数部分整数部分 1 0.43752=0.875 0 0.8752=1.75 1 0.752=1.5 1 0.52=1.0 1 于是,得到结果为:于是,得到结果为: (0.71875)10=(0.10111)2n 练习练习: 将将168.686转换为二、十转换为二、十六进制数。六进制数。n 168.68610101000.10101Bn 168.686A8.AF9DBH46n 综上所述,一个十进制综上所述,一个十进制整数整数的的q进制进制转换方法就是转换方法就是“除除q取

21、余取余”;而一个十进;而一个十进制制小数小数的的q进制转换方法就是进制转换方法就是“乘乘q取取整整”。n 若一个十进制数既包含整数部分又包含若一个十进制数既包含整数部分又包含小数部分,它的小数部分,它的q进制转换就是将它的整进制转换就是将它的整数部分和小数部分用上述方法分别进行数部分和小数部分用上述方法分别进行转换,最后将转换好的两部分结合在一转换,最后将转换好的两部分结合在一起形成要转换的起形成要转换的q进制数。进制数。47(3)十六进制十六进制数与数与二进制二进制数数之间之间的转换的转换 由于由于 16=24, 故故 1 位位十六进制数相当于十六进制数相当于 4 位位二进制数。二进制数。

22、反之,反之, 4 位位二进制数相当于二进制数相当于1 位位十六进制十六进制 这样,十六进制数与二进制数之间的相这样,十六进制数与二进制数之间的相互转换是十分简便的。互转换是十分简便的。48 二二进制数转换为进制数转换为十六十六进制数的进制数的方法方法: 首先从小数点开始分别首先从小数点开始分别向左向左和和向右向右把整数及小数部分把整数及小数部分每每 4 位分成位分成一组一组。 若若整数最高位整数最高位的一组不足的一组不足 4 位,则在其左边位,则在其左边加加 0 补足补足 4 位;若小数最低位的一组不足位;若小数最低位的一组不足 4 位,则在其右边加位,则在其右边加 0 补足补足 4 位。然后

23、,位。然后, 用与每组二进制数用与每组二进制数所对应所对应的十六进制数的十六进制数取代取代每组的每组的 4 位二进制数,即得到对应的十六进制数。位二进制数,即得到对应的十六进制数。例例 :二进制数:二进制数 1011101001.110101 转换为十六进制数的方法是:转换为十六进制数的方法是: 二进制数二进制数 0010 1110 1001 . 1101 0100十六进制数十六进制数 2 E 9 . D 449 十六十六进制数转换为进制数转换为二二进制数的进制数的方法方法是:是: 用相应的用相应的 4 位位二进制数取代二进制数取代每每 1 位位十六进制数。十六进制数。 例例 :十六进制数十六

24、进制数 5C7A.3B 转换为二进制的方法是:转换为二进制的方法是: 十六进制数十六进制数 5 C 7 A . 3 B二进制数二进制数 0101 1100 0111 1010 . 0011 1011 5C7A.3BH=1011100 0111 1010.00111011B相反相反503、十进制数与十进制数与字符字符的编码表示的编码表示n 由于计算机只能识别二进制数,因由于计算机只能识别二进制数,因此,输入的信息(如数字、字母、符号)此,输入的信息(如数字、字母、符号)都以特定的二进制码来表示,这就是都以特定的二进制码来表示,这就是二二进制编码进制编码。 例如在键盘上输入字母例如在键盘上输入字母

25、A, 存入存入计计算机的算机的A的编码为的编码为0100 0001,它不代,它不代表数字值,而是一个表数字值,而是一个文字信息文字信息。51n (2 ) ASCII码码n ASCII (American Standard Code for Information Interchange)码是)码是美国美国标准信息交换码标准信息交换码的简称。是现的简称。是现在各国所广泛采用的字母、在各国所广泛采用的字母、 数字和数字和符号的信息编码。符号的信息编码。 n 是将数字、字母、通用符号、控制是将数字、字母、通用符号、控制符号等,按符号等,按国际上常用国际上常用的一种的一种标准二标准二进制编码方式进制编

26、码方式进行编码。进行编码。52n ASCII码是一种码是一种8位代码位代码,规定二进制,规定二进制最高位(最高位(D7)为)为0,一个,一个字节字节中的其余中的其余7位位对字符进行编码,用对字符进行编码,用7位码来代表字符信息,位码来代表字符信息, 共可表示共可表示128(27)个字符,其中包括)个字符,其中包括数字数字(09)、)、英文大小写字母英文大小写字母和和控制符号控制符号(见(见下表下表)。53ASCII码如表码如表 所示。所示。 ASCII码表码表 54nASCII码是由一个码是由一个4位组位组(表中的行)(表中的行)和一个和一个3位组位组(表中的列)构成的,(表中的列)构成的,形

27、成形成7位二进制编码,其格式为位二进制编码,其格式为 65432104位组位组 3位组位组 55n 所以根据所以根据ASCII码表和码表和ASCII码的构码的构成格式,可以很方便地从成格式,可以很方便地从ASCII表查出表查出每一个字符或特殊控制功能的编码。每一个字符或特殊控制功能的编码。n 例如,大写英文字母例如,大写英文字母A,从表中查出,从表中查出其其3位组为位组为(100)2,4位组为位组为(0001)2,故构成字母故构成字母A的的ASCII编码为编码为(0100 0001)2或或41H。 56记住记住常用常用ASCII码:码:数字:数字:09 30H39H大写字母:大写字母:A 41

28、H小写字母:小写字母:a 61H空格:空格: 20H回车:回车: 0DH换行:换行: 0AH574、运算、运算-算术和逻辑运算算术和逻辑运算n (1) 算术运算算术运算 二进制加法二进制加法n 二进制加法与十进制加法相类似,所不二进制加法与十进制加法相类似,所不同的是,其加、减法法则遵循同的是,其加、减法法则遵循“逢逢2进进1”、“借借1当当2”的原则。的原则。n 0+0=0 n 1+0=1 n 0+1=1 n 1+1=0 并进位并进位58例例 : 1010110101B+1111B。加法过程如下:加法过程如下: 被加数被加数 10110101 加数加数 00001111 进位进位 +)111

29、111 和和 1100010059二进制减法二进制减法n 在二进制减法中,同样有如下法则:在二进制减法中,同样有如下法则: n 0-0=0 n 1-0=1 n 1-1=0 n 0-1=1 有借位有借位n 当不够减时需要借位,高位的当不够减时需要借位,高位的1等于等于下一位的下一位的2,即,即“借一当二借一当二”。例如,两个二。例如,两个二进制数相减:进制数相减:n 1 0 1 1 0 1 0 0 n - 0 1 0 1 0 1 1 1 n 0 1 0 1 1 1 0 1 60二进制乘法二进制乘法n 二进制乘法与十进制乘法是二进制乘法与十进制乘法是一一样样的。但因为二进制数只由的。但因为二进制数

30、只由0和和1构成,构成,因此,二进制乘法更简单。其法则如下:因此,二进制乘法更简单。其法则如下:n 00=0 n 10=0 n 01=0 n 11=1 61n 例如,二进制数例如,二进制数1101.1与与101.1相乘:相乘: 1 1 0 1. 1 被乘数被乘数(13.5) 10 1 0 1. 1 乘数乘数(5.5) 10 n 1 1 0 1 1n 1 1 0 1 1 n 0 0 0 0 0 n + 1 1 0 1 1 n 1 0 0 1 0 1 0. 0 1 乘积乘积 (74.25) 10 62例 :100110B110B,除法过程如下: 1 1 0110100110 1 1 01 1 1

31、100110B110B=110B余10B 1 1 01 0n二进制除法二进制除法 其方法与十进制除法是一样的,而且二进制其方法与十进制除法是一样的,而且二进制数仅由数仅由0,1构成,做起来更简单。构成,做起来更简单。63 (2) 二进制数的逻辑运算二进制数的逻辑运算 二进制数的逻辑运算常用的有二进制数的逻辑运算常用的有“与与”、 “或或”、 “异或异或”及及“非非”运算等四种。在组成表达式时,运算等四种。在组成表达式时,可分别用符号可分别用符号“AND”、 “OR”、 “XOR”及及“NOT”作为运算符,有时也用作为运算符,有时也用“”、 “” 、 “, ”作为作为“与与”、 “或或”、 “异

32、或异或”的运算符,的运算符, 用数字上面加横线用数字上面加横线“-”表示对该数进行非运算。二表示对该数进行非运算。二进制数的逻辑运算只按进制数的逻辑运算只按位进行运算。位进行运算。64 1 位位二进制数运算二进制数运算规则规则如下:如下:“与与”运算的运算的规则规则为:为: 1 AND 0=00 AND 1=00 AND 0=01 AND 1=1“或或”运算的规则为:运算的规则为:0 OR 0=01 OR 0=10 OR 1=11 OR 1=165“异或异或”运算的规则为:运算的规则为:0 XOR 0=01 XOR 0=10 XOR 1=11 XOR 1=0 “非非”运算的规则为:运算的规则为

33、:NOT 0=1NOT 1=066 n 异或运算通常用符号异或运算通常用符号“ ”表示,表示,它的它的运算规则运算规则为:为:0 0=0,读成读成“0同同0异或结果为异或结果为0”0 1=1,读成读成“0同同1异或结果为异或结果为1”1 0=1,读成读成“1同同0异或结果为异或结果为1”1 1=0,读成读成“1同同1异或结果为异或结果为0” 强调:强调:记忆:相同为记忆:相同为0,不同为,不同为167 例:二进制数例:二进制数 10010111 和和 00111000 的的“与与”、 “或或”及及“异或异或”。 运算结果分别为:运算结果分别为: 1 0 0 1 0 1 1 1 与)0 0 1

34、1 1 0 0 00 0 0 1 0 0 0 01 0 0 1 0 1 1 1或)0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 1异或) 0 0 1 1 1 0 0 0 1 0 1 0 1 1 1 168 ! 数学中用正负号表示数的正负,数学中用正负号表示数的正负, 而计算机不能而计算机不能识别正负号,识别正负号, 因此计算机将正、因此计算机将正、 负等符号数字化,负等符号数字化, 以便运算时识别。以便运算时识别。 通常,通常, 在数的前面加一位,在数的前面加一位, 用作用作符号位。符号位为符号位。符号位为0表示表示正数正数, 为为1表示表示负数负

35、数。 连同符号位一起表示的数称为连同符号位一起表示的数称为机器数机器数 一个带符号的数在计算机中可以有一个带符号的数在计算机中可以有原码、反码原码、反码和和补码补码三种表示方法。三种表示方法。 在微机中,凡是带符号的数都用在微机中,凡是带符号的数都用补码补码表示,运算结表示,运算结果自然也是补码。果自然也是补码。69 (1)3种表示法种表示法:原码、反码、原码、反码、补码补码n 正数正数:原码反码补码,:原码反码补码,就是机器数就是机器数n 负数:负数:原码原码其符号位为其符号位为1, 数值位不变数值位不变 反码反码其符号位为其符号位为1,数值位逐位求反,数值位逐位求反 补码补码其符号位为其符

36、号位为1,数值位逐位求反,数值位逐位求反, 并在末位加并在末位加1。 5、 带符号带符号二进制的表示二进制的表示70 原码法原码法n正数的符号正数的符号“”用用0表示,负数的符号表示,负数的符号 “-”用用1表示的机器数称为原码。表示的机器数称为原码。 X1=+1010101,则则X1原原=0 1010101 符号符号 位数值位数值n 对负数对负数 X2= -1011101, 则则 X2原原=1 1011101 1/0 D7符号 数值部分D6D071反码法反码法n 正数正数的反码表示与原码相同,的反码表示与原码相同, 而而负数负数的反的反码为:表示为其符号位不变(码为:表示为其符号位不变(1)

37、,其余各位),其余各位“按位求反按位求反”。 例如:对负数例如:对负数 X2=-1011101,则,则 X2反反=1 0100010取反的含义就是即取反的含义就是即0变为变为1,1变为变为0。721/0 D7符号 数值部分D6D0补码法补码法 正数正数的补码与原码法相同;负数的补码为的补码与原码法相同;负数的补码为符号符号位不变位不变,在反码基础上,在反码基础上最低位(末位)加最低位(末位)加1。 例如,例如, 对负数:对负数: X2= -1011101, 则则 X2补补X2反反1 =1 0100011X2反反=1 0100010731/0 D7符号 数值部分D6D0机器数:机器数:符号数值化

38、了的数真值:真值:带符号的机器数对应的数值 原码原码机器数机器数 反码反码 补码补码 数值:数值:表示数量的多少表示数量的多少74+ 0110111B- 0110111B0 0110111B1 0110111B 机器数(原码)机器数真值真值机器数原码反码补码n 补码补码75:原码=反码=补码X= + 0110111BX原 = X反 =X补 = 0 0110111BX = - 0110111BX原 = 1 0110111BX反 = 1 1001000BX补 =X反 +1(符号位除外)=1 1001000B+1 =1 1001001B76X = - 0 1 1 0 1 1 1BX补 =1 1 0

39、0 1 0 0 1B采用补码的好处:采用补码的好处:符号位参加运算减法运算转换成加法运算77 25 00011001 X补+ 32 + 00100000 Y补 57 00111001 32 00100000 X补+ (-25) + 11100111 Y补 7 000001111补码加法规则:X+Y补X补Y补78 (2) 补码的运算补码的运算 带符号数用其补码表示后,运算方法同于二进带符号数用其补码表示后,运算方法同于二进制运算,即制运算,即补码的补码的加减运算加减运算:符号位与数值符号位与数值位一起参与运算,而且自动获得结果位一起参与运算,而且自动获得结果(包括符号位与数值位)。(包括符号位与

40、数值位)。 但会出现溢出问题。但会出现溢出问题。特别说明:特别说明:补码再求补码是原码,所以微机补码再求补码是原码,所以微机运算运算都用补码算都用补码算79其按补码在求补得到:其按补码在求补得到:X+Y= -3480 带符号数运算问题带符号数运算问题溢出溢出 可见,带符号数用其补码表示后,运算方法同于二进制可见,带符号数用其补码表示后,运算方法同于二进制运算,但会出现溢出问题。运算,但会出现溢出问题。 0101 1110 +5EH + 0011 0111 +37H 1001 0101 +95H例例 : (+5EH)+(+37H)。数值(次高)位有进位数值(次高)位有进位符号(最高)位无进位符号(最高)位无进位溢出溢出, 结果出错结果出错符号位变符号位变181例例 :(-62H)+(-3BH)。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论