计算机组成原理算法实现_第1页
计算机组成原理算法实现_第2页
计算机组成原理算法实现_第3页
免费预览已结束,剩余27页可下载查看

下载本文档

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

文档简介

1、计算机组成原理课程设计说明书(课题二)信息工程学院目录2设计内容与要求 2.1题目2.2功能2.3算法原理3主要技术指标及特点 3.1登录窗体3.2操作界面3.3定点小数机器表示窗口界面 3.4定点小数变形补码加减运算界面 3.5定点小数的原码乘法界面 3.6浮点数加减运算界面 3.7帮助界面4设计小结参考文献计算机组成原理算法实现(二)1课程设计的目的本课程设计是在学完本课程教学大纲规定的全部内容、完成所有实践环节的基础上,旨在 深化学生学习的计算机组成原理课程基本知识,进一步领会计算机组成原理的一些算法, 并进行具体实现,提高分析问题、解决问题的综合应用能力2设计内容与要求2.1题目计算机

2、组成原理算法实现(二)2.2功能能够实现定点小数的机器数表示、定点小数的变形补码加减运算、定点小数的原码一 位乘法运算和浮点数的加减运算。2.3算法原理数据表示方法:计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式。(1)定点表示:约定机器中所有数据的小数点位置是固定的。由于约定在固定的位置,所以小数点就不再使用记号“.”来表示。(2)浮点表示:定点数表示的数的范围有限,为了扩展数的表示范围,按照科学 记数法表示数据的方式,任何一个二进制数 N都可以表示成如下的格式:N= M*2eM尾数,是一个纯小数,决定数据的表示精度e:指数,又称为阶码,是一个整数,决定数据的表示范围数的机器码

3、表示一般书写所表示的数据称为真值,在计算机中为了表示符号位,通常把符号位和 数字位一起编码来表示相应的数,形成了各种数据的存储和表示方法,这些编码 称为机器码。常用的机器码有原码、反码、补码和移码。(1)原码:原码的数值部分是该数的绝对值,最高位表示符号位,最高位为0是正数,最高位为1是负数。(2) 反码:正数的反码等于原码,负数的反码等于除符号位外其余二进制数码0变成1,1变成0。正数:x反=x原=x负数:符号位不变,其余变反(3) 补码:正数的补码等于原码,负数的补码等于反码加1。正数:x补=x原负数:x补=x反+1定点加、减法运算:结论:任何两数的补码之和等于两数之和的补码补码加法基本公

4、式:x补+y补=x+y补补码减法基本公式:x补-y补=x补+-y补当负数用补码表示后,符号位作为数据的一部分一起参加运算,运算器不用考虑参加加法运算的操作数的正负以及结果的正负, 任意数的加法就可以化作正数加法来 实现。溢出:在定点数机器中,数的大小超出了定点数能表示的范围,叫溢出。(1) 在定点小数机中数的表示范围是-1<x<1,如果运算过程中出现了大于1或者 小于一1的情况。(2) 在定点整数机(8位)中数的表示范围是-128<x<127,如果运算过程中出现了大于127或者小于-128的情况。双符号位法:将符号位扩展为2位,具体说就是对于正数两个符号位是“ 00”,

5、对于负数两个符号位是“ 11”。两个符号位都 看作数码一样参加运算。两个数相加后,其结果的符号位出现“01”或“ 10”两种组合时,表示发生溢出。符号位“ 01”,上溢出符号位“ 10”,下溢出符号位“ 00”或者“ 11”,未溢出从y 补求y 补的法则是:对y 补“包括符号位求反且最末位加1” ,即可得到y 补定点乘法运算:在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符 号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。 设n位被乘数和 乘数用定点小数表示(定点整数也同样适用)被乘数 x 原=乂 f. x n jx 1 x 0乘数 y 原=y f. y n

6、1y 1 y 0则乘积z 原=(x f ® y f) + (0. x n 1x 1x 0)(0. y n 1y 1y 0) 式中,x f为被乘数符号,y f为乘数符号。机器算法:机器中一种方法是多次采用“加法-移位”的方法来完成,称为串行 乘法器,它的硬件结构简单,但是速度慢,目前广泛使用的是流水式阵列乘法器, 称为并行乘法器。无符号数 m乘以n会产生m*n个位积,出现m+n个列和,并行 乘法器的关键是快速产生 m*n个位积,对位积进行相加运算产生 m+n个列和。第一步:位积的产生观察乘法运算:0*0 = 0,0*1 = 0,1*0 = 0,1*1 = 1相当于:an b所以m*n个

7、位积可以由m*n个与门并行产生。第二步:列和的产生:利用全加器浮点数的加减法运算:浮点数的加减法运算分为六个步骤:(1) 0操作数检查浮点加减运算过程比定点运算过程复杂。如果判知两个操作数x或y中有一个数为0,即可得知运算结果而没有必要再进行后续的一系列操作以节省运算时间。0操作数检查步骤则用来完成这一功能。参加加法运算的数据都是非零,进入下一步。(2) 比较价码大小并完成对阶为了便于直观理解,假设两数均以补码表示,阶码采用双符号位,尾数采用单符号 位。两浮点数进行加减,首先要看两数的阶码是否相同,若二数阶码不同,表示 小数点位置没有对齐,此时必须使两个数阶码相同,这个过程叫作对阶。对阶操 作

8、规定使尾数右移,尾数右移后阶码作相应增加,因此对阶时,总是使小阶向大阶看齐。(3) 尾数进行加减运算对阶结束后,即可进行尾数的求和运算。不论加法运算还是减法运算,都按加法 进行操作(减法利用补码减法转换成补码的加法来做),其方法与定点加减法运算 完全一样。(4) 结果规格化a. 采用双符号位表示尾数时,如果两符号位为 01或10时,应将结果尾数右移一 位,阶码加1 (叫“右规”)。b. 如果尾数最高数值位与符号位相同,应将尾数左移,阶码减1,直至数值位最 高位与符号位相反(叫“左规”)。(5) 舍入运算在对阶向右规格化,尾数向右移位,这样被右移的尾数的低位部分会被丢掉,从而造成一定误差,要进行

9、舍入处理。简单的舍入方法有两种:一种是“ 0舍1入”法,即如果右移时被丢掉数位的最 高位为0则舍去,为1则将尾数的末位做加加1运算。另一种是“恒置1”法, 即只要数位被移掉,就在尾数的末尾恒置1。(6) 判断结果是否溢出根据补码的双符号检测溢出的方法确定阶码是否溢出。3主要技术指标及特点针对题目的各个功能要求,本人将程序分为一个主模块ZuCheng和六个子模 块分别为 Password、Show、Form3、Form4、Form5、Help 。显然这是一个典 型的使用模块化结构的程序。所有独立功能的部分都采用子模块结构,因为 模块化设计使人一目了然。下面将介绍主模块和各子模块的运用特点和参数

10、说明,并给出他们的流程图和主要Java代码。3.1登录窗体口令输入错误时给出重新输入口令的提示三次口令输入错误被禁止使用Password模块流程图Password模块的主要Java代码publicvoidactio nPeformed(Actio nEve nte)Stri ngs=newStri ng("123"if(e.getSource()=butt on1)while(i=0&&m <=3&&(!(text1.getText().equals("")if(text1.getText().equals(s)i=

11、1;else m+;JOptio nPa ne.showMessageDialog(this,"您输入的密码不正确","警告对话框 ",JOptio nPa ne.WARNING_MESSAGE);text1.setText (n ull);if(m>3) JOptio nPa ne.showMessageDialog(this,"您已被禁用","错误对话框",JOptionPane.ERROR_MESSAGE); if(e.getSource()=butt on2)setVisible(false);if(

12、i=1)ZuChengs仁newZuCheng(操作菜单");s1.setVisible(true); setVisible(false);3.2操作界面通过 ZuCheng主模块,调用 Show、Form3、Form4、Form5、Help 子模块。当 选择对应子模块的按钮就可以调用各个子模块,而各子模块之间是相互独立的,下面用模 块图来表示程序模块间的调用关系: (箭头起始处模块调用箭头指向处模块)Zuche ng模块流程图Zucheng模块的主要Java代码 publicvoidactio nPerformed(Actio nEve nte)if(e.getSource()=m

13、1)'Shows1= newShow(机器数表示");s1.setVisible(true);elseif(e.getSource()=m2)Form3f1= newForm3();f1.setTitle(" 定点变形补码加减");fl.setVisible(true);elseif(e.getSource()=m3)Form4f2=newForm4();f2.setTitle(”定点原码乘法");f2.setVisible(true);elseif(e.getSource()=m4) 一Form5f5=newForm5("浮点加减&q

14、uot;);f5.setVisible(true);elseif(e.getSource()=m5)Helph仁newHelp(” 帮助信息”);hl.setVisible(true);h1.work();3.3定点小数机器表示窗口界面在上面的窗体中按“输入”按扭时,将输入焦点设置为最上面的一个文本框上。输入一个带符号的二进制定点小数(如+0.11010或-0.010101 )后,按“原码”、“反码”、“补码”或“移码”按扭中的任 一个后,将在第二个文本框中显示对应的机器数,同时要求将第二个标 签中“原码”字样改成对应的编码字样。选择“返回”按扭时回到主窗 体。比如,用户输入-0.010101

15、,执行相应的操作会出现相应的结果,如 下列各图表示原码表示:反码表示:定点小数的机器表示语SSAT二J3确:谡敷对应的見码时:raw补码表示:移码表示:Show模块流程图Show模块的主要Java代码publicvoidactio nPeformed(Actio nEve nte) if(e.getSource()=butt on 1) me=1;t1.requestFocusl nWin dow();elseif(me=1) if(e.getSource()=butt on 2) b3.setText(" 该数对应的原码为:");Stri ngsg=t1.getText(

16、); if(sg.startsWith("+") in ti ndex=sg.i ndexOf("+");Strin gss=sg.substri ng(i ndex+1); t2.setText(ss);elsein ti ndex=sg.i ndexOf("-");Strin gss=sg.substri ng(i ndex+1);Stri ngsf=ss.replaceFirst("0","1"); t2.setText(sf);elseif(e.getSource()=butt on 3

17、) b3.setText(" 该数对应的反码为:");Stri ngsg=t1.getText(); if(sg.startsWith("+") in ti ndex=sg.i ndexOf("+");Strin gss=sg.substri ng(i ndex+1); t2.setText(ss);elsein ti ndex=sg.i ndexOf("-");Strin gss=sg.substri ng(i ndex+1); chara=ss.toCharArray();for(i nti=2;i<ae

18、 ngth;i+)charm='1', n='0'if(ai=m)ai=n;elseai=m;Stri ngse=n ewStri ng(a);Stri ngsf=se.replaceFirst("0","1"); t2.setText(sf);elseif(e.getSource()=butt on 4) b3.setText(" 该数对应的补码为:"); Stri ngsg=t1.getText();if(sg.startsWith("+")in ti ndex=sg.i nde

19、xOf("+");Strin gss=sg.substri ng(i ndex+1); t2.setText(ss);elsein ti ndex=sg.i ndexOf("-");Strin gss=sg.substri ng(i ndex+1); chara=ss.toCharArray();for(i nti=2;i<ae ngth;i+)charm='1', n='0'if(ai=m)ai=n;elseai=m;if(aae ngth-1='0')aae ngth-1='1'e

20、lsefor(i ntj=a.le ngth-1;j>=2;j-)if(aj-i='0')aj-1='1'aj='0'break;elseaj='0'Stri ngse=n ewStri ng(a);Stri ngsf=se.replaceFirst("0","1"); t2.setText(sf);elseif(e.getSource()=butt on 5) b3.setText(" 该数对应的移码为:"); Stri ngsg=t1.getText();if(

21、sg.startsWith("+")in ti ndex=sg.i ndexOf("+");Strin gss=sg.substri ng(i ndex+1);Stri ngse=ss.replaceFirst("0","1");t2.setText(se);elsein ti ndex=sg.i ndexOf("-");Strin gss=sg.substri ng(i ndex+1);chara=ss.toCharArray();for(i nti=2;i<ae ngth;i+)cha

22、rm='1', n='0'if(ai=m)ai=n;elseai=m;if(aae ngth-1='0')aae ngth-1='1:elsefor(i ntj=a.le ngth-1;j>=2;j-)if(aj-1='0')aj-1='1'aj='0'break;elseaj='O:Stri ngsf= newStri ng(a);t2.setText(sf);if(e.getSource()=butt on 6) setVisible(false);3.4定点小数变形补码加

23、减运算界面在此窗口用户需要输入两个定点小数来参加运算,同上面一样,用 户必需点击输入按钮,才能激活输入框。输入完毕,用户点击各个按钮, 则会出现相应的结果,比如,用户输入-0.11010和+0.01101,执行相应 的操作会出现相应的结果,如下图表示Form3模块流程图Form3模块的主要Java代码/获得第一个数的补码publicStri ngwork1()Strin gsg=d1.getText(); sdf");if(sg.startsWith("+")in ti ndex=sg.i ndexOf("+");Strin gss=sg.su

24、bstri ng(i ndex+1); ss1= ss.replaceFirst("O","OO"); elsein ti ndex=sg.i ndexOf("-");Strin gss=sg.substri ng(i ndex+1); chara=ss.toCharArray();for(i nti=2;i<ae ngth;i+) charm='1', n='0'if(ai=m)ai=n;elseai=m;if(aae ngth-1='0')aae ngth-1='1&#

25、39;elsefor(i ntj=a.le ngth-1;j>=2;j-)if(aj-i='0')aj-1='1'aj='0'break;elseaj='0'Strin gse=n ewStri ng(a);ss1= se.replaceFirst("0","11");returnss1;/做加法时获得第二个数的补码publicStri ngwork2()Strin gsa=d2.getText();if(sa.startsWith("+")in ti ndex=s

26、a.i ndexOf("+");Strin gss=sa.substri ng(i ndex+1);ss2=ss.replaceFirst("0","00");elsein ti ndex=sa.i ndexOf("-");Strin gss=sa.substri ng(i ndex+1); charb=ss.toCharArray();for(i nti=2;i<ben gth;i+) charm='1', n='0'if(bi=m)bi=n;elsebi=m;if(bbe

27、ngth-1='0')bb.le ngth-1='1'elsefor(i ntj=ben gth-1;j>=2;j-)if(bj-1='0')bj-1='1'bj='0'break;elsebj='0'Strin gsc=n ewStri ng(b);ss2=sc.replaceFirst("0","11");returnss2;/做减法时获得第二个数的补码publicStri ngwork3()Strin gsa=d2.getText();if(sa.

28、startsWith("-")in ti ndex=sa.i ndexOf("-");Strin gss=sa.substri ng(i ndex+1);ss2=ss.replaceFirst("0","00");elsein ti ndex=sa.i ndexOf("+");Strin gss=sa.substri ng(i ndex+1); charb=ss.toCharArray();for(i nti=2;i<ben gth;i+) charm='1', n=

29、9;O'if(bi=m)bi=n;elsebi=m;if(bb.le ngth-1='0')bb.le ngth-1='1'elsefor(i ntj=ben gth-1;j>=2;j-)if(bj-1='0')bj-1='1'bj='0'break;elsebj='0'Strin gsc=n ewStri ng(b); ss2=sc.replaceFirst("0","11");returnss2;/实现两数补码相加publicStri nga

30、dd1(chara1,chara2) charjg=newcharr;charcf='O:while(r>0)if(a1r-1='O'&&a2r-1='O'&&cf='0') jgr-1='O:cf='0'elseif(a1r-1='O'&&a2r-1='0'&&cf='1')| (a1r-1='0'&&a2r-1='1'&&cf=&#

31、39;0')| (a1r-1='1'&&a2r-1='0'&&cf='0') jgr-1='1'cf='0'elseif(a1r-1='O'&&a2r-1='1'&&cf='1')|(alr-1='1'&&a2r-1='0'&&cf='1')|(alr-1='1'&&a2r-1='

32、;1'&&cf='0') jgr-1='O:cf='1'elseif(a1r-1='1'&&a2r-1='1'&&cf='1') jgr-1='1'cf='1'elsejgr-1=a1r-1;r-;Strin gresult=n ewStri ng(jg);returnresult;3.5定点小数的原码乘法界面同样,在此界面用户必需要输入乘数和被乘数后执行乘法操作,输 入前,用户必需要点击输入按钮才能接获输入框,如输入乘

33、数为 +0.1000,被乘数为+0.1101,执行相应的操作得出相应的结果,如下图Form4模块流程图Form4模块的主要Java代码/被乘数转化为原码形式publicStri ngwork1()Stri nga1=t1.getText();if(a1.startsWith("+")in tin dex=a1.i ndexOf("+");s1=a1.substri ng(i ndex+1);elsein tin dex=a1.i ndexOf("-");Strin gss=a1.substri ng(i ndex+1);s1=ss.r

34、eplaceFirst("0","1");returns1;/乘数转化为原码形式publicStri ngwork2()Stri nga2=t2.getText();if(a2.startsWith("+")intin dex=a2.i ndexOf("+");s2=a2.substri ng(i ndex+1);elsein ti ndex=a2.i ndexOf("-");Stri ngss=a2.substri ng(i ndex+1); s2=ss.replaceFirst("

35、0","1");returns2;/实现两数的相加publicStri ngadd1(chara1,chara2)in tr=a1en gth;charjg=newcharr;charcf='O:while(r>0)if(a1r-1='O'&&a2r-1='O'&&cf='0') jgr-1='O: cf='0'elseif(a1r-1='O'&&a2r-1='0'&&cf='

36、1')| (a1r-1='0'&&a2r-1='1'&&cf='0')|(a1r-1='1'&&a2r-1='0'&&cf='0') jgr-1='1'cf='0'elseif(a1r-1='O'&&a2r-1='1'&&cf='1')| (a1r-1='1'&&a2r-1='0

37、'&&cf='1')|(a1r-1='1'&&a2r-1='1'&&cf='0') jgr-1='O:cf='1'elseif(a1r-1='1'&&a2r-1='1'&&cf='1') jgr-1='1'cf='1'elsejgr-1='O:r-;result=n ewStri ng(jg);returnresult;/实现两数的相

38、乘publicStri ngmul(Stri ngss1,Stri ngss2)chara=ss1.toCharArray();charb=ss2.toCharArray();intn 1=ss1en gth();i ntn 2=ss2en gth();charmul=n ewchar n1+n 2-2;in tm=mule ngth;chartemp1=n ewchar n1+n 2-4;chartemp2=newchar n1+n 2-4;/实现积的符号位和小数点if(aO=bO)mulO='O:elsemul0='1:mul1=a1;for(i ntg=O;gv n1+n

39、 2-4;g+)temp1g='O:for(i ntg=O;gv n1+n 2-4;g+)temp2g='O:for(i nty=n 2-1;y>=2;y-)if(by='1')ss1.getChars(2, n1,temp2,0);elsefor(i ntg=O;gv n1+ n2-4;g+)temp2g='O:g1=add1(temp1,temp2);g1.getChars(0,g1.le ngth(),temp1,0);for(i nti=g1.le ngth();i>=2;i-)temp1i-1=temp1i-2;if(cf='

40、;0')temp1O='O:elsetemp10='1:Stri ngg2=n ewStri ng(templ); g2.getChars(0,g2.le ngth(),mul,2);Strin gg3=n ewStri ng(mul);retur ng3; 3.6浮点数加减运算界面在此界面,用户需要输入两个浮点数的阶码和尾数,若用户输入的 数中不包含正负号,贝V无法做出任务运算,当用户输入完数据后点击相 应的按钮,则会出现具体的结果(本程序也包含了对溢出数据的检测)当然用户输入数据前同样要先点击输入按钮才会激活输入框按钮,如输入第一个浮点数的阶码是-101,尾数为+0

41、.1101010,第二个浮点数的阶 码是-100,尾数是-0.1011101 ,执行结果如下图Form5模块流程图Form5模块的主要Java代码publicStri ngdJ(Stri ngda,Stri ngdb)/对阶Strin gcd;+da);+db); charw1=da.toCharArray(); charw2=db.toCharArray();if(da.le ngth()>db.le ngth()r=daen gth()+1;m=daen gth()-dben gth(); charc1=n ewchardaen gth(); chard1=n ewchardae n

42、gth();da.getChars(1,da.le ngth(),c1,1); c10=w10;for(i nti=1;i<m+1;i+)d1i='O:d10=w20;db.getChars(1,db.le ngth(),d1,m+1); Stri ngs 1= work3(c1);+s1);Stri ngs2=work4(d1);+s2);charc=n ewcharr;chard=n ewcharr;s1.getChars(0,s1.le ngth(),c,O); s2.getChars(0,s2.le ngth(),d,O); cd=this.add2(c,d);elser

43、=dben gth()+1;m=dben gth()-daen gth();charc1=n ewchardben gth(); chard1=n ewchardbe ngth();for(i nti=1;i<m+1;i+) c1i='O:c10=w10;da.getChars(1,da.le ngth(),c1,m+1);db.getChars(1,db.le ngth(),d1,1); d10=w20;Stri ngs 1= work3(c1);Stri ngs2=work4(d1); charc=n ewcharr; chard=n ewcharr; s1.getChars

44、(0,s1.le ngth(),c,O); s2.getChars(0,s2.le ngth(),d,O); cd=this.add2(c,d);returncd;/阶码之间的差转换为十进制 publici ntzH(Stri nga)Strin gp仁a.substri ng(2); charg1=p1.toCharArray(); for(i nti=0;i<g1en gth;i+) if(g1i='0')g1i='1:elseg1i='O:if(g1g1.le ngth-1='0') g1g1e ngth-1='1'e

45、lsefor(i ntj=g1en gth-1;j>=1;j-) if(g1j-1='0')g1j-1='1' g1j='0'break;elseg1j='0'Strin gp2=n ewStri ng(g1); p=0;in tm=0;for(i nti=p2.le ngth()-1;i>=0;i-) charc=p2.charAt(i);in ta1=I nteger.parsel nt(""+c); p=p+(i nt)(a1*Math.pow(2,m); m+;str=Stri ng.val

46、ueOf(p); if(a.startsWith("OO") str="+"+str;else str="-"+str;returnp;/补码转换为真值 publicStri nghZ(Stri nga) Strin gp仁a.substri ng(2); charg1=p1.toCharArray(); if(a.charAt(2)='.') if(a.startsWith("11") for(i nti=0;i<g1en gth;i+) if(g1i='0')g1i=

47、9;1:elseif(g1i!='.')g1i='O:if(g1g1.le ngth-1='0') g1g1e ngth-1='1'elsefor(i ntj=g1en gth-1;j>=1;j-) if(g1j-1='0')g1j-1='1' g1j='0'break;elseif(g1j!='.')g1沪0:p2=n ewStri ng(g1); p2="0"+p2;p2="-"+p2;if(a.startsWith(&quo

48、t;00") p2="0"+p1;p2="+"+p2;elseif(a.startsWith("00") p2="+"+p1;if(a.startsWith("11") for(i nti=0;i<g1en gth;i+) if(g1i='0')g1i='1'elseg1i='0'if(g1g1.le ngth-1='0')g1g1e ngth-1='1'elsefor(i ntj=g1en gth-

49、1;j>=1;j-)if(g1j-1='0')g1j-1='1'g1j='0'break;elseg1j='0'p2=n ewStri ng(g1);p2="-"+p2;returnp2;/阶码变化(根据规格化的情况)publicStri ngjM(Stri ngz, i nta)Strin gstr2=L on g.toBi naryStri ng(a);Stri ngstr3;if(z.startsWith("00")|z.startsWith("11") st

50、r2="+"+str2;str3=dJ(str1,str2);elsestr2="-"+str2; str3=dJ(str1,str2);returnstr3;/实现右移publicStri ngyM1(Stri ngab)in tshu1=p;Strin gac=ab.substri ng(3);Strin gad=ab.substri ng(3); for(;shu1>0;shu1-) if(ab.startsWith("OO") ac="0"+ac;else ac="1"+ac;ab

51、=ab.replaceAII(ad,ac);returnab;/实现左移publicStri ngyM2(Stri ngabl)in tshu2=p;Strin gac1=ab1.substri ng(3);Strin gad仁abl.substri ng(3); for(;shu2>0;shu2-) ac1=ac1.substri ng(shu2);ac 仁 ac1+"0"ab1=ab1.replaceAll(ad1,ac1);retur nab1;/获得尾数的长度差(为舍入处理准备)publici ntsJ(Stri ngq1,Stri ngq2) if(q1.l

52、e ngth()>q2.le ngth() shu3=q1.le ngth()-q2.le ngth();elseif(q1.le ngth()<q2.le ngth() shu3=q2.le ngth()-q1.le ngth();elseshu3=0;retur nshu3;/获得尾数长度较大的那个尾数的长度public in tgL(Stri ngs1,Stri ngs2)in tshu4;if(s1.le ngth()>s2.le ngth()shu4=s1en gth();elseshu4=s2.le ngth();retur nshu4;/对尾数长度小者补0直至两

53、尾数长度相等 publicStri ngbW(Stri nge)in td2=shu3;for(i nti=0;i<shu3;i+)e=e+"0"returne;/舍入处理publicStri ngsR( in tshu5,Stri ngg2)Strin gg3=g2.substri ng(g2en gth()-shu5);Strin gg4=g2.substri ng(0,g2en gth()-shu5); if(g3.startsWith("1") chargf=g4.toCharArray();if(gfgf.le ngth-1='0')gfgf.le ngth-1='1'elsefor(i ntj=gfe ngth-1;j>=1;j-)if(gfj-1=

温馨提示

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

评论

0/150

提交评论