计算机的运算方法1.ppt_第1页
计算机的运算方法1.ppt_第2页
计算机的运算方法1.ppt_第3页
计算机的运算方法1.ppt_第4页
计算机的运算方法1.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

第三章 计算机的运算方法,3.1 数据的表示方法和转换,3.3 数据校验码(重点),3.2 带符号数在计算机中的表示方法及运算(重点),内容简介:本章主要介绍了计算机中数据的表示方法及相互的转换过程, 带符号数的表示方法和运算,计算机数据在传输过程中出错时采取的措施-数据校验的过程.,学习目标:1.熟悉并掌握计算机中数据的表示方法,相互转换和相关运算. 2.理解数据校验的相关概念,掌握其校验的方法.,内容 提要,3.1 数据的表示方法和转换,一.十进制,二进制,八进制,十六进制的功能及特点.,1.十进制数是人们最习惯使用的数值,在计算机中一般把十进制数作为输入输出的数据形式。,2.二进制数使用的数码少,只有0和1, 在计算机内部存储和运算中使用,也表示计算机元件的状态,运算简单,工作可靠。,特点:, 用十个数码表示0、1、2、3、4、5、6、7、8、9, 遵循“逢十进一”的规则, 用两个数码表示0、1, 遵循“逢二进一”的规则,特点:,3.八进制接近十进制,且与二进制转换方便,常用来对二进制数的“缩写”,如:将(110111001101)2写成(6715)8,便于对二进制数的表示和记忆。,4.在表示同一量值时,十六进制最短如:(110111001101)2写成(DCD)16,且与二进制转换方便,因此十六进制数常用来在程序中表示二进制数或地址。, 用八个数码表示0、1、2、3、4、5、6、7, 遵循“逢八进一”的规则,特点:, 用十六个数码表示0、1、2、3、4、5、6、7、 8、9、A、B、C、D、E、F, 遵循“逢十六进一”的规则,特点:,二.各进制之间的转换.(略) 三.各进制的加减运算.(略),(100101)2+(101101)2= (2)(3FD)16+(284)16= (3)(437)8+(252)8=,(1010010)2,(681)16,(711)8,四.二-十进制数.(BCD码,8421码),1.概念: 二进制编码形式的十进制数,用4位的二进制数来表示一位十进制数.,2.特点: a. 它是一种有权码,根据代码的组成便可知道它所代表的十进制数,简单直观. b. 每个数位内部满足二进制规则,数位之间满足十进制规则. c.用0000,0001,0010.1001分别表示0.9,3.举例说明:,(258)D=?BCD,2 5 8,0010,0101,1000,(258)D=(001001011000)BCD,4.BCD码的加法运算.,规则:1.BCD码相加,将每位数字转换成其对应的四位二进制数相加. 2.如果两个一位BCD码相加之和小于或等于1001,不需要修正,如果相加之和大于1001,则要加6(0110)进行修正.,例:完成下列BCD码的运算.,(1)1 + 8=,0 0 0 1 + 1 0 0 0,1 0 0 1,不需修正,9,(2)4+9=,0 1 0 0 + 1 0 0 1,1 1 0 1,大于1001需修正,1 0 0 1 1,加6(0110)进行修正,进位,13,0001 0011,+ 0 1 1 0,(3)(28)D+(55)D=,0 0 1 0 1 0 0 0,+ 0 1 0 1 0 1 0 1,1 1 0 1,0 1 1 1,+ 0 1 1 0,0 0 1 1,1 0 0 0 0 0 1 1,8,3,(83)D,1 0 0 0,加6(0110)进行修正,8 位 0 255,16 位 0 65535,3.2 带符号数在计算机中的表示方法及运算,计算机中参与运算的数,无符号数(正整数),有符号数,存放于寄存器中,无符号数在寄存器中的每一位均可用来存放数值,当存放有符号数时,则需留出位置存放符号,在机器字长相同时,无符号数和有符号数的表数范围是不同的.,注意,一.概述,无符号数的表数范围:,带正负号的数 符号数字化的数,+ 0.1011,+ 1100, 1100, 0.1011,真值 机器数,1. 机器数与真值,二、有符号数(机器数)P19,2. 原码表示法,(1) 形式,如,x = +1110,x原 = 01110,x原 = 11110,一个数,其符号用0或1进行编码,叫原码.用0表示+,用1表示 -,x = + 0.1101,x原 = 0 . 1101,x原 = 1.1101,+0原=00000 -0原=10000,(2)原码的优点:,简单、直观,用原码做加法时,会出现如下问题:,在计算机中正+正/负+负结果符号位很好确定, 但正+负/负+正结果符号位很难确定 ,容易出错。,计算机将原码转换成反码或补码进行计算.,加法 正 正,加,加法 正 负,加法 负 正,加法 负 负,减,减,加,正,可正可负,可正可负,负,缺点:进行加减法运算时,比较复杂.,3. 反码表示法,(1) 形式:正数的反码与原码相同,负数的反码为其原码的符号位不变,其余各位按位变反,即0变为1,1变为0,如:,+0反=00000 -0反=11111,(2)反码的运算,01001,01001,11001,10110,0.1101,0.1101,1.1101,1.0010,规则:1.反码运算时,其符号位与数值一起参加运算. 2.反码的符号位相加后如果有进位出现,则需把它送到最低位去相加. 3.反码的运算形式: X+Y反=X反+Y反 X-Y反=X反+-Y反,例1,已知:X=+0.1011,Y= -0.0100,求X+Y,分析:1.题目中给出的两个数均为真值,且分别是正数和负数,在计算机中真值均被转换成其他码制计算. 思考:能否将X,Y转换成原码,直接相加?为什么?,不能,因为原码中正数和负数相加符号位不能确定,2.可以将两数转换成反码相加,结果再转换成真值.,(1)将X=0.1011,Y= -0.0100转换成反码. X反=0.1011 Y反=1.1011 (2)求X+Y反 X+Y反=X反+Y反 =0.1011+1.1011,0.1011 +1.1011,10.0110,产生进位,将其送到最低位相加,+ 1,0.0111,=0.0111,(3)求X+Y原 结果为正数,反码形式与原码形式相同.,X+Y原=0.0111 则X+Y=+0.0111,补码的形式 正数的补码与原码相同,负数的补码为其反码的末位 加一可得,4. 补码表示法,+0补=-0补=00000,(2)补码的运算,规则:1.其符号位与数值部分一起参加运算 2.补码的符号位相加后如果有进位出现,则需把这个进位舍去. 3.补码的运算形式: X+Y补=X补+Y补 X-Y补=X补+-Y补,01010,01010,01010,11010,10101,10110,0.1001,0.1001,0.1001,1.1001,1.0110,1.0111,例2,已知:X=-0.1010,Y= -0.0010,求X+Y和X-Y(用补码运算完成),(1)将X=-0.1010,Y= -0.0010转换成补码. X补=1.0110 Y补=1.1110 (2)求X+Y补 X+Y补=X补+Y补 =1.0110+1.1110,1.0110 +1.1110,11.0100,产生进位,将进位去掉,=1.0100,(3)求X+Y原 结果为负数,则末位减1,然后除符号位外按位变反.,X+Y原=1.1100 则X+Y=-0.1100,1.求X+Y:,2.求X-Y:,(1)将X=-0.1010, -Y= 0.0010转换成补码. X补=1.0110 -Y补=0.0010 (2)求X-Y补 X-Y补=X补+-Y补 =1.0110+0.0010,1.0110 +0.0010,1.1000,=1.1000,(3)求X-Y原 结果为负数,则末位减1,然后除符号位外按位变反.,X-Y原=1.1000 则X-Y=-0.1000,5.移码. (1).移码的形式,无论正数还是负数,移码与补码的数字位相同,符号位相反.,例4,已知:X=-0.0011011 ,求X移,分析:将其转换成补码,再转换成移码.,X =-0.0011011 =1.0011011原 =1.1100100反 =1.1100101补 =0.1100101移,+0移=-0移=10000,用移码表示浮点数的阶码,能方便地判断浮点数的阶码大小,(2)移码的运算:,规则: 1.x+y移=x移+y补 x-y移= x移+-y补 2.移码的符号位相加后如果有进位出现,则需把这个进位舍去,例5,已知:x=+0101 y=+0110,求x+y移, x-y移,x移=,y补=,-y补=,10101,00110,11010,x+y移=x移+y补=,10101+00110=,x-y移=x移+-y补=,10101+11010=,01111(溢出),11011,若两正数采用反码、补码、移码相加,结果为负,或两负数相加,结果为正,则为“溢出”,此时运算结果出错,由CPU自动进行纠错处理.如:0.1110+0.0011,(11100)+(10111),注意,注意,1.原码在计算机数中表示一般的数据;反码、补码可以用于机器数的加法、减法、乘法、除法运算;移码只能进行加法运算。 2.用移码表示浮点数的阶码,能方便地判断浮点数的阶码大小。,-0,-1,-128,-127,-127,-126,-3,-2,-1,设机器数字长为 8 位(其中一位为符号位) 对于整数,当其分别代表无符号数、原码、补码和 反码时,对应的真值范围如下表,6.变形码(P29),采用变形码计算好处:既能判断是否有溢出,又能判断结果的符号位。,如: 用变形补码计算:X=+0.1110,Y=+0.0011,求X+Y补,X变补=00.1110 Y变补=00.0011,00.1110 + 00.0011,01.0001,正溢出,X+Y的结果产生正溢出,由CPU自动处理,三.定点数与浮点数P16-P18,1.定点数. 概念:小数点固定在某一个位置上的数据.,形式,小数,整数,0.1011,-1100,2.浮点数,(1)概念:小数点位置可以浮动的数据,(2)形式:N=MRE,尾数,基数,阶码,科学计数法的表达方式,(3)举例: N1=3.14159(D)=0.314159101=0.0314159102,N2=0.011(B)=0.112-1=0.0001122,(4)浮点数在计算机中的格式:,Ef,E,S,M,阶码符号位,阶码,尾数符号位,尾数,移码表示,原码表示,按照IEEE754标准,对上面格式进行简化: (阶符采用隐含式,包括阶码符号位和阶码),S(1位),E(1+7位),M(23位),根据IEEE754标准,常用的浮点数有两种格式:,1.单精度浮点数共32位,阶码8位(内含1位符号位),尾数24位(其中1位符号位提到最前面) 2.双精度浮点数共64位,阶码11位(内含1位符号位),尾数53位(其中1位符号位提到最前面),例题1,按单精度浮点数,阶符隐含式格式表示 N=-0.0110123B,1,数符,阶符和阶码(8位),0000011,1,01101,000000000000000000,尾数(23位),阶码的移码(8位):,10000011,例题2,将(100.25)10转换成单精度浮点数格式。,1.将该十进制数转换成对应的二进制数。 (100.25)10=(1100100.01)2 2.规格化二进制数 (1100100.01)2=0.11001000127 3.求阶码的移码。(8位) 移码:10000111 4.求该数单精度浮点数格式(32位),0,1,0000111,110010001,00000000000000,数符,阶符,阶码,尾数(23位),3.3数据校验码,一.数据校验码的引入. 1.定义:计算机系统中的数据,在读写、存取、传送过程中,可能产生错误,为了减少/避免这类错误,既要提高硬件的可靠性,又要采用某种数据编码方法,应用于少量附加电路,而发现错误,并确定错误所在的位置,实现自动纠错能力,这种编码也叫数据校验码。 2.分类:,奇偶校验码,海明校验码,循环冗余校验码(CRC),开销最小,能发现数据中一位出错情况,用于读写检查,ASCII字符传送过程的检查。,能发现哪些位出错,并能纠正一位错误,能发现并纠正信息存储或传输过程中的多位错误,用于磁介质和计算机间通信。,3.实现原理:数据校验码是在合法的数据编码之间,加进一些冗余编码,使合法的数据编码在出现错误时成为非法编码。这样就可以通过检测编码的合法性达到发现错误的目的。,二.奇偶校验码。 实现原理:它是在被传送的n位信息组上, 加上一个二进制位作为校验位,使配置后的n+1位二进制代码中1的个数为奇数( 奇校验)或偶数(偶校验)。 开销最小,能发现一位出错情况. 奇、偶校验包括数据位和校验位,校验位是0还是1由1的个数决定,具体情况如下表:,例: 数据 奇校验编码 偶校验编码 00000000 100000000 000000000 01110101 001110101 101110101 01111111 001111111 101111111 其中,最高一位为校验位,其余低八位为数据位。,已知下表中左面一栏有5个字节的数据。请分别用奇校验和偶校验进行编码,填在中间一栏和右面一栏。(要求最低位为校验位,其余高八位为数据位),练习,101010100 010101001 000000000 011111111 111111110,101010101 010101000 000000001 011111110 111111111,三.海明校验码。,1原理 在数据位中加入几个校验位,将数据代码的码距均匀地拉大,并把数据的每个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化,不但可以发现错误,还能指出是哪一位出错,为进一步自动纠错提供依据。 2.有关海明校验码的参数 校验位的个数:r表示 信息位:k 海明码的总位数为:m=r+k位 假设欲检测的有效信息为k位,需增加的校验位为r位,则校验码的长度为r+k位,且满足:2rr+k+1,欲检测的信息位k与r的对应关系:(见表),校验位位数r与信息位位数k的关系,3编码规则 若海明码最高位号为m,最低位号为1,即HmHm-

温馨提示

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

评论

0/150

提交评论