计算机的运算方法 .ppt

上传人:石*** 文档编号:47509711 上传时间:2022-10-02 格式:PPT 页数:36 大小:2.91MB
返回 下载 相关 举报
计算机的运算方法 .ppt_第1页
第1页 / 共36页
计算机的运算方法 .ppt_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《计算机的运算方法 .ppt》由会员分享,可在线阅读,更多相关《计算机的运算方法 .ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、计算机的运算方法 现在学习的是第1页,共36页3.1 数据的表示方法和转换数据的表示方法和转换一一.十进制十进制,二进制二进制,八进制八进制,十六进制的功能及特点十六进制的功能及特点.1.十进制数是人们最习惯使用的数值,在计算机中一般把十进十进制数是人们最习惯使用的数值,在计算机中一般把十进制数作为输入输出的数据形式。制数作为输入输出的数据形式。2.二进制数使用的数码少,只有二进制数使用的数码少,只有0和和1,在计算机内部存储和运在计算机内部存储和运算中使用,也表示计算机元件的状态,运算简单,工作可靠。算中使用,也表示计算机元件的状态,运算简单,工作可靠。特点特点:用十个数码表示用十个数码表示

2、0、1、2、3、4、5、6、7、8、9遵循遵循“逢十进一逢十进一”的规则的规则用两个数码表示用两个数码表示0、1遵循遵循“逢二进一逢二进一”的规则的规则特点特点:现在学习的是第2页,共36页3.八进制接近十进制,且与二进制转换方便,常用来对二进制数的八进制接近十进制,且与二进制转换方便,常用来对二进制数的“缩写缩写”,如:将(,如:将(110111001101)2写成(写成(6715)8,便于对二进制数的,便于对二进制数的表示和记忆。表示和记忆。4.在表示同一量值时在表示同一量值时,十六进制最短如:(十六进制最短如:(110111001101)2写成写成(DCD)16,且与二进制转换方便,因此

3、十六进制数常用来在程序,且与二进制转换方便,因此十六进制数常用来在程序中表示二进制数或地址。中表示二进制数或地址。用八个数码表示用八个数码表示0、1、2、3、4、5、6、7遵循遵循“逢八进一逢八进一”的规则的规则特点特点:用十六个数码表示用十六个数码表示0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F遵循遵循“逢十六进一逢十六进一”的规则的规则特点特点:二.各进制之间的转换.(略)三.各进制的加减运算.(略)现在学习的是第3页,共36页(1)(100101)2+(101101)2=(2)(3FD)16+(284)16=(3)(437)8+(252)8=(1010010)2(681

4、)16(711)8现在学习的是第4页,共36页四四.二二-十进制数十进制数.(BCD码码,8421码码)1.概念概念:二进制编码形式的十进制数二进制编码形式的十进制数,用用4位的二进制数来表示一位的二进制数来表示一位十进制数位十进制数.2.特点特点:a.它是一种有权码它是一种有权码,根据代码的组成便可知道它所代表的十进根据代码的组成便可知道它所代表的十进制数制数,简单直观简单直观.b.每个数位内部满足二进制规则每个数位内部满足二进制规则,数位之间满足十进制规则数位之间满足十进制规则.c.用用0000,0001,0010.1001分别表示分别表示0.93.举例说明举例说明:(258)D=?BCD

5、258001001011000(258)D=(001001011000)BCD现在学习的是第5页,共36页4.BCD码的加法运算码的加法运算.规则规则:1.BCD码相加码相加,将每位数字转换成其对应的四位二将每位数字转换成其对应的四位二进制数相加进制数相加.2.如果两个一位如果两个一位BCD码相加之和小于或等于码相加之和小于或等于1001,不不需要修正需要修正,如果相加之和大于如果相加之和大于1001,则要加则要加6(0110)进行修正进行修正.例例:完成下列完成下列BCD码的运算码的运算.(1)1+8=0001+10001001不需修正9(2)4+9=0100+10011101大于1001需

6、修正10011加6(0110)进行修正进位1300010011+0110现在学习的是第6页,共36页(3)(28)D+(55)D=00101000+0101010111010111+011000111000001183(83)D1000加6(0110)进行修正现在学习的是第7页,共36页8位位025516位位0655353.2带符号数在计算机中的表示方法及运算带符号数在计算机中的表示方法及运算计算机中参计算机中参与运算的数与运算的数无符号数无符号数(正整数正整数)有符号数有符号数存放于寄存存放于寄存器中器中无符号数在寄存器中的每一位均可用来存无符号数在寄存器中的每一位均可用来存放数值放数值,当

7、存放有符号数时当存放有符号数时,则需留出位置存放则需留出位置存放符号符号,在机器字长相同时在机器字长相同时,无符号数和有符号无符号数和有符号数的表数范围是不同的数的表数范围是不同的.注意注意一一.概述概述无符号数的表数范围无符号数的表数范围:现在学习的是第8页,共36页带正负号的数带正负号的数符号数字化的数符号数字化的数+0.101101011小数点的位置小数点的位置+110001100小数点的位置小数点的位置110011100小数点的位置小数点的位置0.101111011小数点的位置小数点的位置真值真值机器数机器数1.机器数与真值机器数与真值二、有符号数二、有符号数(机器数机器数)P19现在

8、学习的是第9页,共36页2.原码表示法原码表示法(1)形式形式如如x=+1110 x原原=01110 x原原=11110 x=1110一个数一个数,其符号用其符号用0或或1进行编码进行编码,叫原码叫原码.用用0表示表示+,用用1表示表示-x=+0.1101x原原=0.1101x=0.1101x原原=1.1101+0原原=00000-0原原=10000现在学习的是第10页,共36页(2)原码的优点:原码的优点:简单、直观简单、直观用原码做加法时,会出现如下问题:用原码做加法时,会出现如下问题:在计算机中正在计算机中正+正正/负负+负结果符号位很好确定,负结果符号位很好确定,但正但正+负负/负负+

9、正结果符号位很难确定正结果符号位很难确定,容易出错。,容易出错。计算机将原码转换成反码或补码进行计算计算机将原码转换成反码或补码进行计算.加法加法正正正正加加加法加法正正负负加法加法负负正正加法加法负负负负减减减减加加要求要求数数1数数2实际操作实际操作结果符号结果符号正正可正可负可正可负可正可负可正可负负负缺点缺点:进行加减法运算时进行加减法运算时,比较复杂比较复杂.现在学习的是第11页,共36页3.反码表示法反码表示法(1)形式形式:正数的反码与原码相同正数的反码与原码相同,负数的反码为其原码的符号负数的反码为其原码的符号位不变位不变,其余各位按位变反其余各位按位变反,即即0变为变为1,1

10、变为变为0如如:真值真值原码原码反码反码+1001-1001+0.1101-0.1101+0反反=00000-0反反=11111(2)反码的运算反码的运算010010100111001101100.11010.11011.11011.0010现在学习的是第12页,共36页规则规则:1.反码运算时反码运算时,其符号位与数值一起参加运算其符号位与数值一起参加运算.2.反码的符号位相加后如果有进位出现反码的符号位相加后如果有进位出现,则需把它送则需把它送到最低位去相加到最低位去相加.3.反码的运算形式反码的运算形式:X+Y反反=X反反+Y反反X-Y反反=X反反+-Y反反例1已知已知:X=+0.101

11、1,Y=-0.0100,求求X+Y分析分析:1.题目中给出的两个数均为真值题目中给出的两个数均为真值,且分别是正数且分别是正数和负数和负数,在计算机中真值均被转换成其他码制计算在计算机中真值均被转换成其他码制计算.思考思考:能否将能否将X,Y转换成原码转换成原码,直接相加直接相加?为什么为什么?不能不能,因为原码中正数和负数相加符号位不能确定因为原码中正数和负数相加符号位不能确定2.可以将两数转换成反码相加可以将两数转换成反码相加,结果再转换成结果再转换成真值真值.现在学习的是第13页,共36页(1)将将X=0.1011,Y=-0.0100转换成反码转换成反码.X反反=0.1011Y反反=1.

12、1011(2)求求X+Y反反X+Y反反=X反反+Y反反=0.1011+1.10110.1011+1.101110.0110产生进位,将其送到最低位相加+10.0111=0.0111(3)求求X+Y原原结果为正数结果为正数,反码形式与原码形式相同反码形式与原码形式相同.X+Y原原=0.0111则则X+Y=+0.0111现在学习的是第14页,共36页(1)补码的形式补码的形式正数的补码与原码相同正数的补码与原码相同,负数的补码为其反码的末位负数的补码为其反码的末位加一可得加一可得4.补码表示法补码表示法真值原码反码补码+1010-1010+0.1001-0.1001+0补补=-0补补=00000(

13、2)补码的运算补码的运算规则规则:1.其符号位与数值部分一起参加运算其符号位与数值部分一起参加运算2.补码的符号位相加后如果有进位出现补码的符号位相加后如果有进位出现,则需把这个进则需把这个进位舍去位舍去.3.补码的运算形式补码的运算形式:X+Y补补=X补补+Y补补X-Y补补=X补补+-Y补补0101001010010101101010101101100.10010.10010.10011.10011.01101.0111现在学习的是第15页,共36页例2已知已知:X=-0.1010,Y=-0.0010,求求X+Y和和X-Y(用补码运算完成用补码运算完成)(1)将将X=-0.1010,Y=-0

14、.0010转换成补码转换成补码.X补补=1.0110Y补补=1.1110(2)求求X+Y补补X+Y补补=X补补+Y补补=1.0110+1.11101.0110+1.111011.0100产生进位产生进位,将进位去将进位去掉掉=1.0100(3)求求X+Y原原结果为负数结果为负数,则末位减则末位减1,然后除符号位外按位变反然后除符号位外按位变反.X+Y原原=1.1100则则X+Y=-0.11001.求求X+Y:现在学习的是第16页,共36页2.求求X-Y:(1)将将X=-0.1010,-Y=0.0010转换成补码转换成补码.X补补=1.0110-Y补补=0.0010(2)求求X-Y补补X-Y补补

15、=X补补+-Y补补=1.0110+0.00101.0110+0.00101.1000=1.1000(3)求求X-Y原原结果为负数结果为负数,则末位减则末位减1,然后除符号位外按位变反然后除符号位外按位变反.X-Y原原=1.1000则则X-Y=-0.1000现在学习的是第17页,共36页5.移码移码.(1).移码的形式移码的形式无论正数还是负数无论正数还是负数,移码与补码的数字位相同移码与补码的数字位相同,符号位相反符号位相反.例4已知已知:X=-0.0011011,求求X移移分析分析:将其转换成补码将其转换成补码,再转换成移码再转换成移码.X=-0.0011011=1.0011011原原=1.

16、1100100反反=1.1100101补补=0.1100101移移+0移移=-0移移=10000用移码表示浮点数的阶码用移码表示浮点数的阶码,能方便地判断浮点数的阶码大小能方便地判断浮点数的阶码大小现在学习的是第18页,共36页(2)移码的运算移码的运算:规则规则:1.x+y移移=x移移+y补补x-y移移=x移移+-y补补2.移码的符号位相加后如果有进位出现移码的符号位相加后如果有进位出现,则需把这个进位舍则需把这个进位舍去去例例5已知已知:x=+0101y=+0110,求求x+y移移,x-y移移x移移=y补补=-y补补=101010011011010 x+y移移=x移移+y补补=10101+

17、00110=x-y移移=x移移+-y补补=10101+11010=01111(溢出溢出)11011现在学习的是第19页,共36页若两正数采用反码、补码、移码相加,结果为负,或两若两正数采用反码、补码、移码相加,结果为负,或两负数相加负数相加,结果为正结果为正,则为则为“溢出溢出”,此时运算结果出错,此时运算结果出错,由由CPU自动进行纠错处理自动进行纠错处理.如:如:0.1110+0.0011,(11100)+(10111)注意注意注意注意1.原码在计算机数中表示一般的数据;反码、补码可以原码在计算机数中表示一般的数据;反码、补码可以用于机器数的加法、减法、乘法、除法运算;移码只能用于机器数的

18、加法、减法、乘法、除法运算;移码只能进行加法运算。进行加法运算。2.用移码表示浮点数的阶码用移码表示浮点数的阶码,能方便地判断浮点数的能方便地判断浮点数的阶码大小。阶码大小。现在学习的是第20页,共36页000000000000000100000010011111111000000010000001111111011111111011111111128129-0-1-128-127-127-126二进制代码二进制代码无符号数无符号数对应的真值对应的真值原码对应原码对应的真值的真值补码对应补码对应的真值的真值反码对应反码对应的真值的真值012127253254255-125-126-127-3-

19、2-1-2-1-0+0+1+2+127+0+1+2+127+0+1+2+127设机器数字长为设机器数字长为8位(其中一位为符号位)位(其中一位为符号位)对于整数,当其分别代表无符号数、原码、补码和对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围如下表反码时,对应的真值范围如下表6.变形码变形码(P29)现在学习的是第21页,共36页采用变形码计算好处:既能判断是否有溢出,又能判断结果的符号位。采用变形码计算好处:既能判断是否有溢出,又能判断结果的符号位。符号位符号位 含义解读含义解读00无溢出,结果符号为正无溢出,结果符号为正01正溢出,结果真正符号为正(正数正溢出,结果真正

20、符号为正(正数+正数)正数)10负溢出,结果真正符号为负(负数负溢出,结果真正符号为负(负数+负数)负数)11无溢出,结果真正符号位为负数无溢出,结果真正符号位为负数如:用变形补码计算:X=+0.1110,Y=+0.0011,求求X+Y补补X变补=00.1110 Y变补=00.0011 00.1110+00.0011 01.0001正溢出正溢出X+Y的结果产生正溢出,由的结果产生正溢出,由CPU自动处理自动处理现在学习的是第22页,共36页三三.定点数与浮点数定点数与浮点数P16-P181.定点数定点数.概念概念:小数点固定在某一个位置上的数据小数点固定在某一个位置上的数据.形式形式小数小数整

21、数整数01011小数点的位置小数点的位置0.101111100小数点的位置小数点的位置-1100现在学习的是第23页,共36页2.浮点数浮点数(1)概念概念:小数点位置可以浮动的数据小数点位置可以浮动的数据(2)形式形式:N=MRE尾数尾数基数基数阶码阶码科学计数法的表达方科学计数法的表达方式式(3)举例举例:N1=3.14159(D)=0.314159101=0.0314159102N2=0.011(B)=0.112-1=0.0001122现在学习的是第24页,共36页(4)浮点数在计算机中的格式浮点数在计算机中的格式:EfESM阶码符号位阶码符号位阶码阶码尾数符号位尾数符号位尾数尾数移码表

22、示移码表示原码表示按照按照IEEE754标准标准,对上面格式进行简化对上面格式进行简化:(阶符采用隐含式,包括阶码符号位和阶码)阶符采用隐含式,包括阶码符号位和阶码)S(1位)位)E(1+7位)位)M(23位)位)现在学习的是第25页,共36页根据根据IEEE754标准标准,常用的浮点数有两种格式常用的浮点数有两种格式:1.单精度浮点数共单精度浮点数共32位位,阶码阶码8位(内含位(内含1位符号位)位符号位),尾数尾数24位位(其中其中1位符号位提到最前面位符号位提到最前面)2.双精度浮点数共双精度浮点数共64位位,阶码阶码11位(内含位(内含1位符号位)位符号位),尾数尾数53位位(其中其中

23、1位符号位提到最前面位符号位提到最前面)例题例题1按单精度浮点数,阶符隐含式单精度浮点数,阶符隐含式格式表示N=-0.0110123B1数符数符阶符和阶码(阶符和阶码(8位)位)0000011101101000000000000000000尾数(尾数(23位)位)阶码的移码阶码的移码(8位位):10000011现在学习的是第26页,共36页例题2将(将(100.25)10转换成单精度浮点数格式。转换成单精度浮点数格式。1.将该十进制数转换成对应的二进制数。将该十进制数转换成对应的二进制数。(100.25)10=(1100100.01)22.规格化二进制数规格化二进制数(1100100.01)2

24、=0.110010001273.求阶码的移码。(求阶码的移码。(8位)位)移码:移码:100001114.求该数单精度浮点数格式(求该数单精度浮点数格式(32位)位)01 000011111001000100000000000000数符数符阶符阶符阶码阶码尾数(尾数(23位)位)现在学习的是第27页,共36页3.3数据校验码数据校验码一一.数据校验码的引入数据校验码的引入.1.定义:定义:计算机系统中的数据计算机系统中的数据,在读写、存取、传送过程中,在读写、存取、传送过程中,可能产生错误,为了减少可能产生错误,为了减少/避免这类错误,既要提高硬件的可靠避免这类错误,既要提高硬件的可靠性,又要

25、采用某种数据编码方法,应用于少量附加电路,而发现性,又要采用某种数据编码方法,应用于少量附加电路,而发现错误,并确定错误所在的位置,实现自动纠错能力,这种编码也错误,并确定错误所在的位置,实现自动纠错能力,这种编码也叫数据校验码。叫数据校验码。2.分类:分类:奇偶校验码奇偶校验码海明校验码海明校验码循环冗余校验码循环冗余校验码(CRC)开销最小,能发现数据中一位出错情况,开销最小,能发现数据中一位出错情况,用于读写检查,用于读写检查,ASCII字符传送过程的检字符传送过程的检查。查。能发现哪些位出错,并能纠正一位错误能发现哪些位出错,并能纠正一位错误能发现并纠正信息存储或传输过程中能发现并纠正

26、信息存储或传输过程中的多位错误,用于磁介质和计算机间的多位错误,用于磁介质和计算机间通信。通信。现在学习的是第28页,共36页3.实现原理:实现原理:数据校验码是在合法的数据编码之间,加进一数据校验码是在合法的数据编码之间,加进一些冗余编码,使合法的数据编码在出现错误时成为非法编码。些冗余编码,使合法的数据编码在出现错误时成为非法编码。这样就可以通过检测编码的合法性达到发现错误的目的。这样就可以通过检测编码的合法性达到发现错误的目的。二二.奇偶校验码。奇偶校验码。实现原理:实现原理:它是在被传送的它是在被传送的n位信息组上,位信息组上,加上一个二进加上一个二进制位作为校验位,使配置后的制位作为

27、校验位,使配置后的n+1位二进制代码中位二进制代码中1的个数为的个数为奇数奇数(奇校验奇校验)或偶数或偶数(偶校验偶校验)。开销最小开销最小,能发现一位出错情能发现一位出错情况况.奇、偶校验包括数据位和校验位,校验位是奇、偶校验包括数据位和校验位,校验位是0还是还是1由由1的个的个数决定,具体情况如下表:数决定,具体情况如下表:数据位数据位校验位校验位奇校验奇校验奇数个奇数个10(反之为(反之为1)偶校验偶校验偶数个偶数个10(反之为(反之为1)现在学习的是第29页,共36页例:例:数据数据 奇校验编码奇校验编码偶校验编码偶校验编码0000000010000000000000000001110

28、10100111010110111010101111111001111111101111111其中,最高一位为校验位,其余低八位为数据位。其中,最高一位为校验位,其余低八位为数据位。已知下表中左面一栏有已知下表中左面一栏有5个字节的数据。请分别用奇校个字节的数据。请分别用奇校验和偶校验进行编码验和偶校验进行编码,填在中间一栏和右面一栏。(要求填在中间一栏和右面一栏。(要求最低位为校验位,其余高八位为数据位)最低位为校验位,其余高八位为数据位)数据数据 偶校验编码偶校验编码 奇校验编码奇校验编码1010101001010100000000000111111111111111练习练习1010101

29、00010101001000000000011111111111111110101010101010101000000000001011111110111111111现在学习的是第30页,共36页三三.海明校验码。海明校验码。1原理原理在数据位中加入几个校验位,将数据代码的码距均匀地拉大,在数据位中加入几个校验位,将数据代码的码距均匀地拉大,并把数据的每个二进制位分配在几个奇偶校验组中。当某一位并把数据的每个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化,不但可以出错后,就会引起有关的几个校验位的值发生变化,不但可以发现错误,还能指出是哪一位出错,为进一步

30、自动纠错提供依发现错误,还能指出是哪一位出错,为进一步自动纠错提供依据。据。l2.有关海明校验码的参数有关海明校验码的参数l校验位的个数:校验位的个数:r表示表示信息位:信息位:kl海明码的总位数为:海明码的总位数为:m=r+k位位l假设欲检测的有效信息为假设欲检测的有效信息为k位,需增加的校验位为位,需增加的校验位为r位,则校验码的长度为位,则校验码的长度为r+k位位,且满足且满足:2rr+k+1,欲检欲检测的信息位测的信息位k与与r的对应关系的对应关系:(见表)(见表)现在学习的是第31页,共36页校验位位数校验位位数r与信息位位数与信息位位数k的关系的关系信息位位数信息位位数k校验位位数

31、校验位位数r1-445-11512-26627-57758-1208现在学习的是第32页,共36页3编码规则编码规则若海明码最高位号为若海明码最高位号为m,最低位号为,最低位号为1,即,即HmHm-1H2H1,则海明码的编码规则是:,则海明码的编码规则是:(1)校验位与数据位之和为)校验位与数据位之和为m,除校验位的最高位始终放除校验位的最高位始终放在海明码的最前面外在海明码的最前面外,其余校验位在海明码中的位号其余校验位在海明码中的位号=2该校验该校验位的编号位的编号-1,其余各位为数据位,并按从低向高其余各位为数据位,并按从低向高/从高向低逐位从高向低逐位依次排列的关系分配各数据位。依次排

32、列的关系分配各数据位。(2)海明码的每一位)海明码的每一位Hi(包括数据位和校验位)由多个校验位(包括数据位和校验位)由多个校验位校验,其关系是被校验的每一位位号要等于校验它的各校验位的校验,其关系是被校验的每一位位号要等于校验它的各校验位的位号之和。位号之和。现在学习的是第33页,共36页例题例题设有设有7个信息位个信息位,如果采用海明校验如果采用海明校验,至少需要多少个校验位至少需要多少个校验位?实现该编码过程实现该编码过程?由题意知由题意知:1.求校验位:求校验位:7个信息位个信息位:k=7设为设为D1,D2.D6,D7校验位校验位r=5设为设为P1,P2,P3,P4,P52.求海明码的

33、总位数:求海明码的总位数:m=k+r=12设为设为:H1,H2,H3.H10,H11,H123.编码的过程编码的过程:确定每个校验位和数据位的位置的过程确定每个校验位和数据位的位置的过程H:H12H11H10H9H8H7H6H5H4H3H2H1P:D:P5P3P4P2P1D7D6 D5D4 D3D2D1其海明码的排列为其海明码的排列为:P5D7D6D5P4D4D3D2P3D1P2P1现在学习的是第34页,共36页本章练习一一.有两数有两数00100110和和01000111,完成下列各题。,完成下列各题。1.两数都是二进制码,分别完成算术运算和逻辑运算:两数都是二进制码,分别完成算术运算和逻辑运算:00100110+010001112.两数都是两数都是BCD码,求两数的和,结果用十进制表示码,求两数的和,结果用十进制表示二二.已知已知X原原=00101,Y移移=10011,求,求X+Y移,移,X-Y移移三三.设有设有16个信息位,如果采用海明码校验,至少需要多少个信息位,如果采用海明码校验,至少需要多少个校验位?应放在哪些位置上?个校验位?应放在哪些位置上?现在学习的是第35页,共36页现在学习的是第36页,共36页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁