《计算机运算基础.ppt》由会员分享,可在线阅读,更多相关《计算机运算基础.ppt(28页珍藏版)》请在三一办公上搜索。
1、第一章,1-3计算机运算基础,1-3 计算机运算基础,一.十进制ND有十个数码09、逢十进一。十进制用于计算机输入输出,人机交互。二.二进制NB两个数码:0、1,逢二进一。二进制为机器中的数据形式。三.十六进制NH十六个数码:09,AF,逢十六进一。十六进制用于表示二进制数。不同进位制数以下标或后缀区别,十进制数可不带下标。如:101、101D、101B、101H、101H,介绍计算机中数的表示方法和基本运算方法。,1-3-1 进位计数制,1-3 计算机运算基础,一.十进制ND有十个数码:09,逢十进一。例 1234.5=1103+2102+3101+4100+510-1加权展开式以10称为基
2、数,各位系数为09。一般表达式:ND=dn-110n-1+dn-210n-2+d0100+d-110-1+,1-3-1 进位计数制,1-3 计算机运算基础,二.二进制NB两个数码:0、1,逢二进一。例 1101.101=123+122+021+120+12-1+12-3 加权展开式以2为基数,各位系数为0、1。一般表达式:NB=bn-12n-1+bn-22n-2+b020+b-12-1+,1-3-1 进位计数制,1-3 计算机运算基础,三.十六进制NH十六个数码09、AF,逢十六进一。例:DFC.8=13162+15161+12160+816-1 展开式以十六为基数,各位系数为09,AF。一般
3、表达式:NH=hn-116n-1+hn-216n-2+h0160+h-116-1+,1-3-1 进位计数制,1-3-2 不同进位计数制之间的转换,先展开,然后按照十进制运算法则求和。举例:1011.1010B=123+121+120+12-1+12-3=11.625DFC.8H=13162+15161+12160+816-1=3580.5,(一)二、十六进制数转换成十进制数,进位计数制的一般表达式:Nr=an-1rn-1+an-2rn-2+a1r1a0r0a-1r-1a-mr-m 一个r1进制的数转换成r2进制数的方法:先展开,然后按r2进制的运算法则求和计算。,1-3-2 不同进位计数制之间
4、的转换,(二)二进制与十六进制数之间的转换24=16,四位二进制数对应一位十六进制数。举例:,3AF.2H=0011 1010 1111.0010=1110101111.001B 3 A F 21111101.11B=0111 1101.1100=7D.CH 7 D C,(三)十进制数转换成二、十六进制数,整数、小数分别转换 1.整数转换法“除基取余”:十进制整数不断除以转换进制基数,直至商为0。每除一次取一个余数,从低位排向高位。举例:,1.39转换成二进制数39=100111B2 39 1(b0)2 19 1(b1)2 9 1(b2)2 4 0(b3)2 2 0(b4)2 1 1(b5)0
5、,2.208转换成十六进制数 208=D0H16 208 余 016 13 余 13=DH 0,(三)十进制数转换成二、十六进制数,1.小数转换法“乘基取整”:用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。举例:,1.0.625转换成二进制数0.625 2 1.250 1(b-1)2 0.5 0 0(b-2)2 1.0 1(b-3)0.625=0.101B,2.0.625转换成十六进制数 0.625 16=10.0 0.625=0.AH3.208.625 转换成十六进制数208.625=D0.AH,1-3-2带符号数的表示方法,机器
6、数:机器中数的表示形式,其位数通常为8的倍数 真值:机器数所代表的实际数值。举例:一个8位机器数与它的真值对应关系如下:真值:X1=+84=+1010100B X2=-84=-1010100B 机器数:X1机=01010100 X2机=11010100,机器中,数的符号用“0”、“1”表示。最高位作符号位,“0”表示“+”,“1”表示“-”。,(一)机器数与真值,1-3-2带符号数的表示方法,最高位为符号位,0表示“+”,1表示“”。数值位与真值数值位相同。例 8位原码机器数:真值:x1=+1010100B x2=1010100B 机器数:x1原=01010100 x2原=11010100原码
7、表示简单直观,但0的表示不唯一,加减运算复杂。,有符号数通常使用三种表示方法:,(二)原码(True Form),1-3-2带符号数的表示方法,正数的反码与原码表示相同。负数反码符号位为 1,数值位为原码数值各位取反。例 8位反码机器数:x=+4:x原=00000100 x反=00000100 x=-4:x原=10000100 x反=11111011,(三)反码(Ones Complement),(四)补码(Twos Complement),正数的补码表示与原码相同。负数补码的符号位为1,数值位等于反码加1。,例:求 8位补码机器数:x=+4 x原=x反=x补=00000100 x=-4 x原
8、=10000100 x反=11111011 x补=11111100,补码表示的优点:0的表示唯一,加减运算方便。,数的补码与“模”有关“模”即计数系统的量程。,当X0,X补=模-X。举例:钟表对时。设时钟系统“模”为12,标准时间为7点整。,8位二进制数的模为:28=256当X0,X补=28-X=256-X=255-X+1=X反码+1,9+-2补=9+10=7+12=7(舍弃模),8位机器数表示的真值,1-3-2带符号数的表示方法,四.机器数与真值之间的转换,1)X1=+127,X2=-127,求X原、X补 X1原=X1补=01111111=7FH X2原=11111111=FFH X2补=1
9、0000001=81H 2)X1=+255,X2=-255,求X原、X补 X1原=X1补=0000000011111111=00FFH X2原FFH X2补FF01H,1.真值机器数,四.机器数与真值之间的转换,1)X1原=59H,X2原=D9H,求真值?X1原=X1原=,2.机器数真值注意机器数表示(原码、补码)注意机器数符号位,01011001,11011001,X1=+1011001B=+89 X2=-1011001B=-89 2)X1补=59H,X2补=D9H,求真值 X1=+1011001B=+89 X2=-0100111B=-39,1-3-4 定点与浮点表示,1)定点整数:小数点固
10、定在数值位之后。2)定点小数:小数点固定在数值位之前符号位之后。举例:求定点机器数5AH表示的真值。用定点整数表示的真值:+1011010用定点小数表示的真值:+0.101101,一.定点数 小数点位置固定的机器数。运算简便,表示范围小。,1-3-4 定点与浮点表示,二进制数浮点表示:B=S2J S尾数,为小数或整数。J阶码,为整数,二.浮点数小数点位置不固定。表示范围大,运算复杂。,举例:求双字节浮点机器数表示的真值 00000101(阶码)00001101(尾数)当S为纯整数:B=+110100000B=+416 当S为纯小数:B=+11.01B=+3.25,规格化浮点表示:使数值最高位为
11、有效数值位。例 规格化浮点数:0000001001101000,1-3-5运算方法,1.补码加法运算:X+Y补=X补+Y补,一.补码加减运算符号作为数值直接参与运算,变减法为加法运算。,例X1=+13,Y1=+6,X2=-13,Y2=-6,求X1+Y1、X2+Y2解求X1补、Y1补、X2补、Y2补00001101+13补 11110011-13补+00000110+6补+11111010-6补00010011+19补 1 11101101-19补 进位为模,舍弃,1-3-5运算方法,例X1=+6,Y1=+8,X2=-6,Y2=-8,求X1-Y1、X2-Y2解求X1补、Y1补、-Y1补、X2补、
12、Y2补、-Y2补00000110+6补 11111010-6补+11111000-(+8)补+00001000-(-8)补11111110-2补 1 00000010+2补 进位为模,舍弃,2.补码减法运算:X-Y补=X补-Y补=X补+-Y补,1-3-5运算方法,1.加法运算:直接相加。2.减法运算:变补相加。例:X=150=96H,Y=10=0AH,计算X+Y=?X-Y=?10010110 15010010110 150+00001010+10+11110110-10 10100000 160 110001100 140 进位为模,舍弃,二.无符号数加减运算,变补相加计算减法:当最高位产生进
13、位,实际无借位;反之有借位。,1-3-5运算方法,机器数 无符号数 补码:10010110 150-106+00001010+10+10 10100000 160-96 无符号数与补码运算的溢出判断方法却不同。,计算机中补码的加减运算与无符号数相同。,1-3-5运算方法,例:X=74=4AH,Y=216=D8H,求X+Y=?和X-Y=?01001010 74 01001010 74+11011000+216+00101000-216 100100010 34 0 01110010 114溢出使结果出错。加法有进位,结果应为290;减法无进位则有借位,结果负数补码。,三.溢出运算过程中数据超出允
14、许表示范围,1无符号数溢出判断最高位是否产生进位或借位。,计算机设置进位标志位 Cy 判断无符号数溢出:当数据加/减最高位产生进位/借位,Cy=1;否则,Cy=0。,例X1=+45,Y1=+46,X2=+90,Y2=+107,求X1+Y1、X2+Y2,2补码溢出判断符号位和最高数值位进位是否相同。,计算机设置溢出标志位 OV 判断补码溢出。逻辑关系:OV=Cy6Cy7 当补码加/减产生溢出 OV=1,否则OV=0。,例 X1=-5,Y1=-2,X2=-105,Y2=-91,求X1+Y1、X2+Y211111011-5补10010111-105补+11111110-2补+10100101-91补
15、 1 11111001-7补 1 00111100+补正确,无溢出正数,有溢出。负数相加,同时有进位:Cy6=1、Cy7=1,则无溢出;不同时有进位,则有溢出,结果出错。,解:X1补=2DH,Y1补=2EH,X2补=5AH,Y2补=6BH00101101+45补01011010+90补+00101110+46补+01101011+107补 0 01011011+91补 0 11000101-补正确,无溢出负数,有溢出正数相加,同时无进位:Cy6=0、Cy7=0,则无溢出;不同时有进位,则有溢出,结果出错。,1-3-6 二十进制编码BCD码,例:求十进制数876的BCD码876BCD=1000
16、0111 0110 876=36CH=1101101100B,BCD码(Binary Coded Decimal)二进制代码表示的十进制数。,一.8421 BCD码,二.BCD码运算,十进制调整:计算机实际按二进制法则计算,加入十进制调整操作,可计算BCD码。十进制调整方法:当计算结果有非BCD码或产生进位或借位,进行加6或减6调整。,例:计算BCD码 78+69=?0111 1000 78BCD+0110 1001+69BCD 1110 0001产生非BCD码和半进位+0110 0110+66H调整1 0100 0111 带进位结果:147,例:计算BCD码 38-29=?0011 1000 38BCD+1101 0111-29BCD 1 0000 1111 产生非BCD+1111 1010-06调整 1 0000 1001 结果无借位:9,1-3-7字符编码美国标准信息交换码ASCII码,用于计算机与计算机、计算机与外设之间传递信息。,