计算机组成原理算法实现.docx

上传人:b****2 文档编号:1709157 上传时间:2022-10-23 格式:DOCX 页数:42 大小:437.68KB
下载 相关 举报
计算机组成原理算法实现.docx_第1页
第1页 / 共42页
计算机组成原理算法实现.docx_第2页
第2页 / 共42页
计算机组成原理算法实现.docx_第3页
第3页 / 共42页
计算机组成原理算法实现.docx_第4页
第4页 / 共42页
计算机组成原理算法实现.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

计算机组成原理算法实现.docx

《计算机组成原理算法实现.docx》由会员分享,可在线阅读,更多相关《计算机组成原理算法实现.docx(42页珍藏版)》请在冰豆网上搜索。

计算机组成原理算法实现.docx

计算机组成原理算法实现

计算机组成原理算法实现(五)

1设计目的

本课程设计是在学完本课程教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的计算机组成原理课程基本知识,进一步领会计算机组成原理的一些算法,并进行具体实现,提高分析问题、解决问题的综合应用能力。

2设计内容

计算机组成原理算法实现(五)

能够实现机器数的真值还原(定点整数)、定点整数的单符号位补码加减运算、定点整数的原码乘法运算和浮点数的加减运算。

3实现方法

3.1系统目标

本程序含有以下几个功能模块,分别能够实现如设计内容所设计的功能。

共有5个类,各类之间的关系如图3-1所示:

图3-1各类间的关系

系统流程图如图3-2所示:

图3-2系统流程图

3.2主体功能

Main.java

该java文件为整个程序的主类。

luojiyunsuan.java

实现机器数的真值还原(定点整数)

zhengshujiajian.java

实现定点整数的单符号位补码加减运算、定点整数的

zhengshuchengfa.java

实现定点整数的原码乘法运算。

fudianyunsuan.java

实现浮点数的加减运算。

 

运行程序并进行相关调试:

程序的主界面如图3-2所示:

图3-2主界面

当输入的口令出错时所显示的提示,如图3-3:

图3-3口令错误提示

 

错误过多,单击确定后程序自动关闭,如图3-4:

图3-4口令错误过多提示

输入正确的口令后,程序显示登陆成功,如图3-5所示:

图3-5登陆成功提示

 

定点整数的真值还原如图3-6:

图3-6定点整数的真值还原

定点整数的单符号位补码加减运算如图3-7:

图3-7定点整数的单符号位补码加减运算

 

定点整数的原码乘法运算如图3-8:

图3-8定点整数的原码乘法运算

浮点数的加减运算如图3-9所示:

图3-9浮点数的加减运算

3.3开发环境

JDK1.6NetBeansIDE6.8Windows7

 

4小结

通过这次的计算机组成原理的课程设计,使我对计算机的认识有了更进一步的加深和认知。

在这为期一周的课程设计的期间内,在进行课程设计的过程中,我不仅巩固了以往所学过的知识,还学到了许多在课堂上所学不到的东西,比如动手能力,实际问题的解决能力和与团队中成员的团队协作与配合的能力,这都使我受益匪浅。

当然,在这个过程中,也有许多问题与困难出现。

有的经过自己的思考或与他人合作能得以解决,有的也的确费了一些周折。

但无论如何,这次对于课题的能够实现机器数的真值还原(定点整数)、定点整数的单符号位补码加减运算、定点整数乘法运算和浮点数的加减运算的设计总体来说还是比较令人满意的,不仅用到了课堂上所学到的知识,还加入了自己的一些想法与观点,而且在对编程这一方面也有了很多新的感悟与提高。

不得不说是获益良多。

经过了这次的课程设计,我想,对于我日后的计算机的相关的学习肯定会有诸多助益与影响,为将来的学习生活打下了坚实的基础。

附录

附录1源程序清单

MainFrame.java

packagecom.ys;

publicclassMain{

publicstaticvoidmain(Stringargs[]){

newNewclass(null);

}

}

Newclass.java

packagecom.ys;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.JOptionPane;

publicclassNewclassextendsFrameimplementsActionListener{

staticinti=0;

staticintm=1;

Labela1,a2,a22;

TextFieldtext1;

Buttonbutton1,m1,m2,m3,m4,m5;

Fontf;

Newclass(Strings){

super(s);

setLayout(null);

f=newFont("楷体",Font.BOLD,20);

m1=newButton("机器数的真值还原(定点整数)");

m2=newButton("定点整数单符号位补码加减运算");

m3=newButton("定点整数的原码乘法");

m4=newButton("浮点的加减运算");

m1.addActionListener(this);

m2.addActionListener(this);

m3.addActionListener(this);

m4.addActionListener(this);

m5.addActionListener(this);

m1.setBounds(10,30,160,25);

m2.setBounds(175,30,190,25);

m3.setBounds(370,30,120,25);

m4.setBounds(495,30,95,25);

add(m1);

add(m2);

add(m3);

add(m4);

a1=newLabel("计算机组成原理算法实现(五)",Label.CENTER);

a2=newLabel("输入口令(000):

");

a22=newLabel("登陆成功",Label.CENTER);

a1.setBounds(150,100,300,40);

a1.setBackground(Color.WHITE);

a1.setFont(f);

a2.setBounds(150,200,90,25);

a2.setBackground(Color.white);

a22.setBounds(200,200,200,25);

a22.setForeground(Color.white);

a22.setBackground(Color.green);

a22.setVisible(false);

text1=newTextField(18);

text1.setEchoChar('*');

text1.setBounds(240,200,200,25);

button1=newButton("确认");

button1.setBounds(270,250,70,30);

button1.addActionListener(this);

add(a1);

add(a2);

add(a22);

add(text1);

add(button1);

setBackground(Color.white);

setBounds(100,100,640,400);

setVisible(true);

validate();

addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

});

}

publicstaticvoidmain(Stringargs[]){

newNewclass("计算机组成原理");

}

publicvoidactionPerformed(ActionEvente){

Strings=newString("000");

if(e.getSource()==button1){

while(i==0&&m<=3&&(!

(text1.getText().equals("")))){

if(text1.getText().equals(s)){

i=1;

JOptionPane.showMessageDialog(this,"口令正确,请选择菜单栏的操作",

"正确",JOptionPane.INFORMATION_MESSAGE);

text1.setEnabled(false);

text1.setVisible(false);

a22.setVisible(true);

a2.setVisible(false);

}else{

m++;

JOptionPane.showMessageDialog(this,"您输入的口令不正确","警告",

JOptionPane.WARNING_MESSAGE);

text1.setText(null);

}

}

if(m>3){

JOptionPane.showMessageDialog(this,"您三次口令错误,确定后退出!

","警告",

JOptionPane.ERROR_MESSAGE);

System.exit(0);

}

}

if(i==1){

if(e.getSource()==m1){

Form2s1=newForm2();

s1.setVisible(true);

}elseif(e.getSource()==m2){

Form3f1=newForm3();

f1.setTitle("定点整数单符号位补码加减");

f1.setVisible(true);

}elseif(e.getSource()==m3){

Form4f2=newForm4();

f2.setTitle("定点整数补乘法");

f2.setVisible(true);

}elseif(e.getSource()==m4){

Form5f5=newForm5();

f5.setVisible(true);

}

}

}

}

}

luojiyunsuan.java

packagecom.ys;

importjavax.swing.*;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.SwingUtilities;

importjava.awt.TextField;

classForm2extendsFrameimplementsMouseListener{

Buttonbutton1;

Buttonbutton2;

Buttonbutton3;

Buttonbutton4;

Buttonbutton5;

Buttonbutton6;

Labellabel1;

Labellabel2;

Labellabel3;

Labellabel4;

Labellabel5;

Labe

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1