定点整数二进制运算Word格式.docx
- 文档编号:20369846
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:23
- 大小:21.70KB
定点整数二进制运算Word格式.docx
《定点整数二进制运算Word格式.docx》由会员分享,可在线阅读,更多相关《定点整数二进制运算Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
intcishu=0;
publicWindow(){this.setBounds(400,100,600,400);
this.setResizable(false);
//窗口大小不许改变caidan();
this.setLayout(null);
koul=newJLabel("
输入口令:
"
);
koul.setBounds(150,100,150,100);
mima=newJPasswordField(10);
mima.setBounds(250,140,150,20);
koul.setFont(newFont("
宋体"
Font.BOLD,15));
bti=newJLabel("
计算机组成原理算法实现
(二)"
bti.setFont(newFont("
Font.BOLD,25));
//改变字体大小bti.setBounds(130,-20,380,210);
queren=newJButton("
确定"
queren.setFont(newFont("
Font.BOLD,15));
queren.setBounds(270,200,100,30);
item1.setEnabled(false);
//菜单访问权设置
item2.setEnabled(false);
item3.setEnabled(false);
item4.setEnabled(false);
item1.addActionListener(this);
//监听item2.addActionListener(this);
item3.addActionListener(this);
item4.addActionListener(this);
queren.addActionListener(this);
this.add(queren);
this.add(mima);
this.add(koul);
this.add(bti,"
Center"
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
voidcaidan(){
menubar=newJMenuBar();
menu1=newJMenu("
定点整数机器表示"
menu2=newJMenu("
定点整数变形补码加减法"
menu3=newJMenu("
定点整数原码乘法"
menu4=newJMenu("
浮点加减法"
menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);
menubar.add(menu4);
item1=newJMenuItem("
item2=newJMenuItem("
item3=newJMenuItem("
item4=newJMenuItem("
menu1.add(item1);
menu2.add(item2);
menu3.add(item3);
menu4.add(item4);
this.setJMenuBar(menubar);
@Override
publicvoidactionPerformed(ActionEvente){
Stringt=mima.getText();
//判断口令是否正确try
if(e.getSource()==queren){
if(t.equals(txt)){mima.setText("
item1.setEnabled(true);
//口令正确菜单可用
item2.setEnabled(true);
item3.setEnabled(true);
item4.setEnabled(true);
elseif(!
t.equals(txt)){
JOptionPane.showMessageDialog(rootPane,"
密码错误"
item1.setEnabled(false);
//菜单访问权设置item2.setEnabled(false);
item3.setEnabled(false);
mima.setText("
cishu++;
if(cishu==3){
密码错误次数太多"
System.exit(0);
if(e.getSource()==item1){
Ddxsddxs=newDdxs();
this.dispose();
}elseif(e.getSource()==item2){
Bmjjbmjj=newBmjj();
}elseif(e.getSource()==item3){
Ymcfymcf=newYmcf();
}elseif(e.getSource()==item4){
Fdjjfdjj=newFdjj();
*
*/importjava.lang.Object;
publicclassFdjjextendsJFrameimplementsActionListener{
JButtonJButton1,JButton2,JButton3,JButton4;
JLabelname,input,input1,input2,input3,input4,input5,input7,input6;
JTextFielddata,data1,data2,data3,data4,data5,data6,data7;
publicFdjj(){
setTitle("
form5"
Toolkittool=getToolkit();
tool.getScreenSize();
this.setBounds(400,100,600,400);
JButton1=newJButton("
输入"
JButton1.setFont(newFont("
宋体"
JButton1.setBounds(100,320,80,30);
JButton2=newJButton("
加法"
JButton2.setFont(newFont("
JButton2.setBounds(200,320,80,30);
JButton3=newJButton("
减法"
JButton3.setFont(newFont("
JButton3.setBounds(300,320,80,30);
JButton4=newJButton("
返回"
JButton4.setFont(newFont("
JButton4.setBounds(400,320,80,30);
name=newJLabel("
浮点数的加减法运算"
JLabel.CENTER);
name.setFont(newFont("
name.setBounds(130,-20,300,150);
input=newJLabel("
第一个数的阶码:
"
input.setFont(newFont("
input.setBounds(25,100,150,30);
data=newJTextField(10);
data=newJTextField("
data.setBounds(155,105,100,20);
input1=newJLabel("
尾数:
input1.setFont(newFont("
input1.setBounds(305,105,80,20);
data1
=newJTextField(10);
data1.setBounds(355,105,150,20);
input2=newJLabel("
第二个数的阶码:
input2.setFont(newFont("
input2.setBounds(25,150,150,30);
data2=newJTextField(10);
data2.setBounds(155,155,100,20);
input3=newJLabel("
input3.setFont(newFont("
input3.setBounds(305,155,80,20);
data3=newJTextField(10);
data3.setBounds(355,155,150,20);
input4=newJLabel("
加法的阶码:
input4.setFont(newFont("
input4.setBounds(55,200,100,30);
data4=newJTextField(10);
data4.setBounds(155,205,100,20);
data4.setEnabled(false);
input5=newJLabel("
input5.setFont(newFont("
input5.setBounds(305,205,80,20);
data5=newJTextField(10);
data5.setBounds(355,205,150,20);
data5.setEnabled(false);
input6=newJLabel("
减法的阶码为:
input6.setFont(newFont("
input6.setBounds(55,250,100,30);
data6=newJTextField(10);
data6.setBounds(155,255,100,20);
data6.setEnabled(false);
input7=newJLabel("
input7.setFont(newFont("
input7.setBounds(305,255,80,20);
data7=newJTextField(10);
data7.setBounds(355,255,150,20);
data7.setEnabled(false);
JButton1.addActionListener(this);
JButton2.addActionListener(this);
JButton3.addActionListener(this);
JButton4.addActionListener(this);
this.add(name);
this.add(input);
this.add(input1);
this.add(input2);
this.add(input3);
this.add(input4);
this.add(input5);
this.add(input6);
this.add(input7);
this.add(data);
this.add(data2);
this.add(data1);
this.add(data3);
this.add(data5);
this.add(data6);
this.add(data7);
this.add(data4);
this.add(JButton1);
this.add(JButton2);
this.add(JButton3);
this.add(JButton4);
setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Stringcalculate(Strings1,Strings2){
charac='
0'
chara1[]=s1.toCharArray(),a2[]=s2.toCharArray();
for(inti=a1.length-1;
i>
=0;
i--){
if(a1[i]=='
&
&
a2[i]=='
ac=='
){a2[i]='
ac='
}elseif(a1[i]=='
1'
}returnnewString(a2);
publicStringjiemaQiubu(Strings)/*阶码变形补码*/
{
if(s.startsWith("
0"
)||s.startsWith("
1"
)){
s="
00"
+s;
+"
+s.substring
(1);
-"
Stringtemp=s.substring(1,s.lastIndexOf("
));
charc[]=temp.toCharArray();
for(inti=0;
i<
c.length;
i++){if(c[i]=='
)c[i]='
elsec[i]='
temp=newString(c);
11"
+temp+s.substring(s.lastIndexOf("
}returns;
publicStringweishuQiubu(Strings)//尾数求变形补码(缺省整数点,多加长度个0){
Stringstr=s.substring
(2).replaceAll("
"
+s.substring
(2)+str;
Stringstr=s.substring(3).replaceAll("
+s.substring(3)+str;
Stringtemp=null,str=s.substring(3).replaceAll("
temp=s.substring(3,s.lastIndexOf("
i++){
if(c[i]=='
)
c[i]='
else
))+str;
returns;
publicinttoSubstract(Stringsj1,Stringsj2)/*求阶差*/
intsum=0,signal=0;
charcj2[]=sj2.substring(0,sj2.lastIndexOf("
)).toCharArray();
for(inti=0;
cj2.length;
if(cj2[i]=='
cj2[i]='
sj2=newString(cj2)+sj2.substring(sj2.lastIndexOf("
Stringtemp=calculate(sj1,sj2);
if(temp.startsWith("
))//第二个数阶码小
signal=1;
temp=temp.substring
(2);
))/*第一个数阶码小*/
signal=-1;
Stringstr=temp.substring(2,temp.lastIndexOf("
charc[]=str.toCharArray();
错误"
temp=newString(c)+temp.substring(temp.lastIndexOf("
1}else{
JOptionPane.showMessageDialog(this,"
对阶时溢出!
JOptionPane.ERROR_MESSAGE);
intn[]=newint[temp.length()];
n.length;
if(temp.substring(i,i+1).equals("
))
n[i]=0;
n[i]=1;
for(inti=n.length-2;
for(intj=i;
j>
=i;
j--){n[i]=n[i]*2;
}for(inti=0;
i++){sum=sum+n[i];
sum=sum*signal;
returnsum;
publicStringbumaHuanyuan(Strings)/*变形补码还原真值处理,无整数点*/{
+s.substring
(2);
}elseif(s.startsWith("
Stringtemp=s.substring(2,s.lastIndexOf("
charc[]=temp.toCharArray();
publicString[]myAdd(Stringsj1,Stringsj2,Stringst1,Stringst2){Strings[]=newString[2];
intn=0,count=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定点 整数 二进制 运算