数据的表示及运算基础.ppt
《数据的表示及运算基础.ppt》由会员分享,可在线阅读,更多相关《数据的表示及运算基础.ppt(121页珍藏版)》请在三一办公上搜索。
1、2023/11/14,1,第2章 数据的表示及运算基础,计算机组成原理第 2章,2023/11/14,2,内容概览,2.1 数据的表示2.2 数的机器码表示2.3 补码加减法运算2.4 定点乘法运算2.5 定点除法运算2.6 定点运算器的组成2.7 浮点数的表示方法2.8 数据校验码,2023/11/14,3,2.1 数据的表示,2.1.1 数字数据的表示 2.1.2 计算机中数的表示格式2.1.3 十进制数的编码与运算2.1.4 字符数据的表示,2023/11/14,4,2.1.1 数字数据的表示,进位记数制及其转换进位记数制是指按照进位制的方法表示数。计算机中一般采用二进制数来表示权:在进
2、位记数制中,表示数值大小的数字与它在数中的位置有关,同一数字处于不同的数位时表示的数值是不同的,即权不同。基数:表示某种进位记数制所拥有的数字的个数 一个数可以用其基数和权表示出来:,即,2023/11/14,5,常用的进位记数制,1十进制 2二进制 3八进制 4十六进制,2023/11/14,6,二进制与十进制数间的转换,二进制数十进制数:将每个二进制数据按权展开求和。十进制数二进制数:将十进制数的整数部分与小数部分分开处理。整数部分:“除2取余法”,一直除到商为0为止。第一次除2所得的余数对应为二进制数低位的值,所求各次余数就是所求二进制数的各位值,最后的余数为最高位的值。小数部分:“乘2
3、取整法”,即每一步将十进制小数部分乘以2,所得积的小数点左边的数字(0或1)作为二进制表示法中的数字,第一次乘法所得的整数部分为最高位。然后将积的分数部分继续作为下一步的被乘数,继续执行乘2操作。,2023/11/14,7,十进制数与非十进制数间转换,八进制、十六进制数十进制:按权相加 十进制数非十进制数:整数部分转换采用“除N取余”的方法,且除到商为0为止。其中N为要转换的进制基数(N为2,8,16,)。小数部分转换采用“乘N取整”的方法,直到乘积的小数部分等于0或者满足要求的精度为止。在书写结果时,构成整数的余数是按反序写下来,而构成小数的整数则是按正序写下来。,2023/11/14,8,
4、非十进制数之间的转换,二进制数与八进制数之间的转换:以小数点为界,分别向左向右每三位二进制数合成一位八进制数,或每一位八进制数展成三位二进制数,不足三位者补0。二进制数与十六进制数之间的转换:以小数点为界,分别向左向右每四位二进制数合成一位十六进制数,或每一位十六进制数展成四位二进制数,不足四位者补0。,2023/11/14,9,2.1.2 计算机中数的表示格式,定点数与浮点数定点格式:容许的数值范围有限,但要求的处理硬件比较简单(x=x0 x1x2xn)定点整数:表示范围 0|x|2n-1定点小数:表示范围 0|x|1-2-n浮点格式:容许的数值范围很大,但要求的处理硬件比较复杂。浮点数的一
5、般表示方法:N=Re M 其中,M为尾数(定点小数),R为基数(定点整数),E为阶码(定点整数)。有符号数和无符号数,2023/11/14,10,2.1.3 十进制数的编码与运算,为了方便人们的使用,一些通用性较强的计算机上也设有十进制数据的表示,以对十进制数直接进行处理。有权码(Weights)8421(BCD)码 权重分别是8,4,2,1。BCD(binary code decimal):以二进制编码的十进制两数相加之和大于9,要进行加6修正2421码 权重分别是2,4,2,1。还有5211,4311码,这些码任何两数相加之和等于9的二进制码互为反码无权码余3码 由8421码加3,运算时要
6、修正。当两个码相加不产生进位时,应从结果中减去3;产生进位时应将进位信号送入高位,本位加3格雷码 任何两个相邻编码只有一个二进制位不同,而其余三位都相同.编码方案可有多种,2023/11/14,11,2.1.4 字符数据的表示,各种文字、符号、图形、语言和逻辑信息等非数字信息也是计算机的重要处理对象。计算机要完成对这些信息的处理,同样必须完成这些信息在计算机中的表示。这些信息在计算机中都以0或1的形式存在,但并不用来表示数值的大小,所以也称为非数值数据。字符与字符串的表示 汉字的编码表示 多媒体信息,2023/11/14,12,字符与字符串的表示,要对字符进行识别和处理,必须通过编码的方法,按
7、照一定的规则将字符用一组二进制数编码表示。常见的字符编码:ASCII码、EBCDIC码等。ASCII编码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。,2023/11/14,13,1ASCII码,ASCII码用7位二进制数表示一个字符,总共128个字符元素,包括10个十进制数字(09)、52个英文字母(AZ和az)、34个专用符号和32个控制符号。(p28)ASCII码表中的编码值031不对应任何可印刷字符,这些编码值对应的字符称为控制字符,用于通
8、信中的通信控制或对计算机设备的功能控制。扩展ASCII码为8位,是用八位二进制数表示一个字符,因此可以表示256个不同的字符。,2023/11/14,14,2EBCDIC码,EBCDIC码采用8位来代表一个字符。09十个数字的高4位编码为1111,低4位编码仍为00001001。大小写英文字母的编码均同样满足正常的排序要求,并有简单的对应关系。EBCDIC码将位分成两组各4个位,其中一组叫区域位(Zone bits),另一组叫数值位(Digit bits)。,2023/11/14,15,2EBCDIC码,EBCDIC码的区域位(高4位)的取值代表不同的意义,例如第7位和第6位全取1则表示大写字
9、母和数值;第7位取1,第6位取0则代表小写字母;第5位和第4位全取0代表大写字母AI等。,2023/11/14,16,3字符串的存放,通常占用主存连续空间连续存放多个字节.,2023/11/14,17,4数字串的存放,字符形式以ASCII码形式存放,即一个字节存放一个十进制数位或符号位压缩方式用一个字节存放两个十进制数位。其用BCD码(ASCII低4位)表示,符号也占半个字符。,2023/11/14,18,5 汉字的编码表示,汉字的输入编码 国标区位码 拼音码 字形码,2023/11/14,19,5 汉字的编码表示,汉字内码 汉字信息在存储、交换、检索等操作时使用的机内代码,一般采用两个字节表
10、示。且每个字节最高位为1(为区别ASCII码)。内码=区位码+A0A0H国标码=区位码+2020H,2023/11/14,20,5 汉字的编码表示,汉字字模码 用点阵、矢量函数等方式表示的汉字字形代码,是汉字的输出形式。,2023/11/14,21,2.2 机器码的表示,真值机器数(机器码)最高位表示符号位,符号位为0表示正数;符号位为1表示负数,数值部分用二进制的绝对值表示。机器码的表示原码补码反码移码,2023/11/14,22,2.2.1原码表示法,例:x=+0.1101,则x原=0.1101 x=-0.1101,则x原=1.1101,对于0,原码机器中往往有“+0”、“-0”之分,故有
11、两种形式:+0原=0.000.0-0原=1.000.0,若定点小数的原码形式为X0.X1X2Xn,则原码表示的定义为:,2023/11/14,23,原码表示法,若定点整数的原码形式为X0X1X2Xn,则原码表示的定义为:,原码的表示范围:定点小数:-(1-2-n)(1-2-n)定点整数:-(2n-1)(2n-1),2023/11/14,24,原码表示法,原码表示法简单易懂,但其最大缺点是加法运算复杂。当两数想加时,如果是同号则数值相加;如果是异号则要进行减法。而在进行减法时,还要比较绝对值的大小,然后大数减去小数,最后还要给结果选择恰当的符号。为解决这个问题,可以通过补码方式。,2023/11
12、/14,25,2.2.2 补码表示法,模(模数)模操作(模运算)补码,2023/11/14,26,补码表示法,若定点小数的补码形式为X0.X1X2Xn,则补码表示的定义是:,其中X补为机器数,x为真值。,2023/11/14,27,补码表示法,例:X=+0.11001,则X补=0.11001X=-0.11001,则X补=10+x=10.0000-0.11001=1.00111一般情况下,对正数x=+0.X1X2Xn,则有 X补=0.X1X2Xn对负数x=-0.X1X2Xn,则有:X补=10.000-0.X1X2Xn(mod 2)对于0,在补码情况下,+0补=-0补=0.0000(mod 2),
13、即只有一种形式。,2023/11/14,28,补码表示法,对定点整数,补码的定义是:,(mod 2n+1),2023/11/14,29,补码的特点,“0”的表示唯一符号位可以参与运算运算规则X+Y补=X补+Y补 mod 2X-Y补=X补+-Y补 mod 2利用补码可以将减法运算变成加法运算来实现。但是根据补码定义,求负数的补码要从2减去|X|。如何解决?利用补码实现减法运算,可以和常规的加法运算使用用一加法器电路,从而简化了计算机的设计。,2023/11/14,30,2.2.3 反码表示法,所谓反码,就是将二进制数的各位数码0变为1,1变为0。,X反=,X 1 x 0,(2-2-n)+x 0
14、x-1,定点小数的反码表示:n 代表数的位数,2023/11/14,31,反码表示法,定点整数的反码表示:,X反=,X 2n x 0,(2n+1-1)+x 0 x-2n,2023/11/14,32,反码表示法,求反码规则:正数的反码就等于真值,负数的反码是将其原码除符号位以外的各位按位取反。负数的补码为其反码在最低位加1,例如,x=1010,则x反=01010 x=-1010,则x反=(2n+1 1)+x=(25 1)+(-1010)=11111-1010=10101在反码表示中,0有+0和-0之分,所以也有两种反码表示形式:,2023/11/14,33,2.2.5三种码制的比较与转换,对正数
15、来说,原码、补码和反码都等于真值,但对负数各有不同的表示。0的原码和反码各有两种不同的表示形式,而补码只有一种表示形式。三者的最高位都是符号位。原码、反码表示的正、负数范围相对于0来说是对称的;但补码负数表示范围较正数表示范围大,其值等于-2n(定点整数)或-1(定点小数)。,2023/11/14,34,2.2.5 三种码制的比较与转换,设n=8,则原码、反码的表示范围是+(27-1)-(27-1)即+127-127补码的表示范围是:+(27-1)-(27)即+127-128已知真值X1=+78,X2=-78求x原、x反、x补。例:X1=+78=+4EH=0100110B x1原=010011
16、10 x1反=01001110 x1补=01001110X2=-78=-4EH=-01001110B x2原=11001110 x2反=10110001 x2补=10110010,2023/11/14,35,原码、反码与补码,例:已知x补=11101110,求-x补、x反、x原及真值x。解:-x补=00010010(x补取反加1)x反=11101101(x补减1)x原=10010010(x原低7位取反)真值x=-0010010B=-12H=-18D,2023/11/14,36,2.3 补码加减运算,2.3.1 补码加法2.3.2 补码减法2.3.3 溢出概念及判断方法2.3.4 定点加法器,2
17、023/11/14,37,2.3.1 补码加法(1),X补+Y补=X+Y补现分四种情况来证明(1)0,0,则0。相加两数都是正数,故其和也一定是正数。正数的补码和原码是一样的,可得:补补补(mod 2),2023/11/14,38,补码加法(2),(2)0,0,则0或0时,2()2,2必丢失,故补补补(mod 2)当0,则0或 0。,2023/11/14,39,补码加法(3),(4)0,0,则0。补2,补2 补补222(2)故 补补2()补(mod 2),2023/11/14,40,补码加法(4),例1:0.1001,0.0101,求。解:补0.1001,补0.0101 补0.1001 补0.
18、0101 补0.1110 所以0.1110,2023/11/14,41,补码加法(5),例2 0.1011,0.0101,求。解:补0.1011,补1.1011 补0.1011 补1.1011 补 10.0110 所以0.0110,2023/11/14,42,2.3.2 补码减法,补补补,2023/11/14,43,2.3.3 溢出概念及判断方法,例:几个二进制补码整数加法的例子,01001+00101 01110,01100+00111 10011,10010+00001 10011,10100+11001 1 01101,9+5=14,12+7=19,-14+1=-13,(-12)+(-7
19、)=-19,在定点数表示法中,要求参加运算的数以及运算的结果都必须保证落在该定点数所能表示的数值范围内。绝对值小于最小正数的数一般会被当成机器0处理,称为“下溢”;大于最大正数和小于绝对值最大负数的数都称为“上溢”。发生溢出时,计算机将暂时中止运算操作,进行溢出处理。,溢出概念及判断方法,2023/11/14,45,溢出概念及判断方法,双符号位法(变形补码)运算结果的二符号位相异时,表示溢出;相同时,表示未溢出。Sf1 SF2 0 0正确(正数)01上溢10下溢11正确(负数)Sf1 表示正确的符号,逻辑表达式为V=Sf1 Sf2,可以用异或门来实现,2023/11/14,46,溢出概念及判断
20、方法,单符号位法(利用进位)Cf C000正确(正数)01上溢10下溢11正确(负数)故溢出逻辑表达式:VCfCo,其中Cf为符号位产生的进位,Co为最高有效位产生的进位。,2023/11/14,47,溢出概念及判断方法,例:变形补码加法实例,001001+000101 001110,001100+000111 010011,110010+000001 110011,110100+111001 1 101101,110110+001110 1000100,2023/11/14,48,2.3.4 定点加法器,两个二进制数字Ai,Bi和一个进位输入Ci相加,产生一个和输出Si,以及一个进位输出Ci
21、1。右表中列出一位全加器进行加法运算的输入输出真值表。,一位全加器真值表,2023/11/14,49,FA逻辑电路和框图,FA(全加器)逻辑电路图 FA框图,2023/11/14,50,行波进位的补码加法减法器,2023/11/14,51,作业,P63 1、2、5、6,keywords,进制间转换,BCD码,ASCII码,汉字编码(输入码,内码,字模码),字符串的存放,定点整数和定点小数,浮点数,有符号数和无符号数,机器码,原码、补码和反码(三种编码的表示方法、表示范围),补码加减法运算,溢出及溢出的判断方法,2023/11/14,53,2.4 定点乘法运算,2.4.1 人工乘法2.4.2 定
22、点原码乘法定点原码一位乘法阵列乘法,2023/11/14,54,2.4.1 人工乘法,例:设0.1101,0.1011,求z=,则Z=+0.10001111,2023/11/14,55,2.4.2 定点原码乘法,x原=xf.xn-1x1x0 y原=yf.yn-1y1y0 x.y原=(xf yf)+(0.xn-1x1x0).(0.yn-1y1y0)n位乘n位积可能为2n位.实现方法方法一:串行的“加法和移位”,硬件结构简单,但速度太慢(时间延迟太长).方法二:不带符号位的阵列乘法器,2023/11/14,56,1 定点原码一位乘法,2023/11/14,57,1 定点原码一位乘法,设0.1101
23、,0.1011求x*y部分积乘数部分积初始化为0.0 0 0 00 1 0 1 1 部分积右移,前面补+X0.1 1 0 1 乘数最低位为,加上被乘数-0 1 1 0 10 1 0 1 1 部分积右移,前面补0.0 1 1 01 0 1 0 1 乘数最低位为,加上被乘数+X0 1 1 0 1-1 0 0 1 11 0 1 0 1 部分积右移,前面补0 1 0 0 11 1 0 1 0 乘数最低位为,加上+00 0 0 0 0-0 1 0 0 11 1 0 1 0部分积右移,前面补0 0 1 0 01 1 1 0 1乘数最低位为,加上被乘数+X0 1 1 0 1-1 0 0 0 11 1 1 0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 表示 运算 基础

链接地址:https://www.31ppt.com/p-6578786.html