java 十进制与二进制的转换方法

上传人:s9****2 文档编号:396670348 上传时间:2024-02-22 格式:DOC 页数:4 大小:34KB
返回 下载 相关 举报
java 十进制与二进制的转换方法_第1页
第1页 / 共4页
java 十进制与二进制的转换方法_第2页
第2页 / 共4页
java 十进制与二进制的转换方法_第3页
第3页 / 共4页
java 十进制与二进制的转换方法_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《java 十进制与二进制的转换方法》由会员分享,可在线阅读,更多相关《java 十进制与二进制的转换方法(4页珍藏版)》请在金锄头文库上搜索。

1、十进制转二进制import java.*;import java.util.ArrayList;import java.util.Sca nner;public class T_to_B static String TtoB_fun(String str)String s=m,;boolean flg=str.contains(.); 判断是否有小数点 ArrayList list 二new ArrayList();if(flg=false)int n二lnteger.valueOf(str).intValue(); while(n!=0)list.add(n%2); n=n/2;for(in

2、t i=list.size()-l;i=O;i-) s+=list.get(i)+; elsestr=str.replace(,.,/String st=str.split(,J,);int al=lnteger.valueOf(st0).intValue();String ss=,O.,l+stl;double a2=Double.parseDouble(ss); while(al!=0)list.add(al%2); al=al/2;for(int i=list.size()-l;i=O;i-) s+=list.get(i)+;s+=,.n;while(a2!=0.0)a2=a2*2;do

3、uble dl=a2;int d2=(int) dl; double d3=(double)d2;double d4=dl;a2=dl-d3;switch(d2)case 0 : s+=0; break;case 1:s+二 T;break;return s;public static void main(String args) Sea nner sc=new Sea nn er(System.i n);long startTime = System.currentTimeMillis();System.out.println(iW输入 10 进制数:); String str=sc.nex

4、tLine();System.out.println(H结果为二进制数:n+TtoB_fun(str); long endTime = System.currentTimeMillis();long usedTime = endTime startTime;System.out.println(H所用时|o: +usedTime);二进制转十进制import java.util.ArrayList;import java.util.Sca nner;public class B_to_T static int Tow_n(int n)/2 的正 N 次方int a=l;for(int i=l;

5、i二n;i+)a*=2;return a;static double Tow_N(int n)/2 的负 N 次方double a=1.0;double b=1.0;for(int i=l;i二n;i+)b*=2;a=1.0/b;return a;static String BtoT_fun(String str)String s=“;放得到的数的结果boolean flg=str.contains(.); 判断是否有小数点if(flg=false)int b=0;int j=str.length()-l;/j 为相应的 2 的次方int arr=new intstr.length();for

6、fint i=O;istr.length();i+)char ch=str.toCharArray();/把字符串转为字符数组,获取每一位数字String st=Character.toString(chi);/ 把字符转为字符串arri=lnteger.valueOf(st).intValue();/再把字符串转为整型依次放入整型数组b+=arri*Tow_n(j);Hs+=b+,u,;elseint d=0;double c=0;double b=0;String sss=-;/用来去点小数的“0.”,方便和前面的连接起来str=str.replace(,.,/String st=str.

7、split(-);将整数和小数分开int arr=new intstO.length();/放整数位的double drr=new doublestl.length);放小数位的char chl=st0.toCharArray();/把字符串转为字符数组,获取每一位数字char ch2=stl.toCharArray();/把字符串转为字符数组,获取每一位数字int j=stO.length()-l;for(int i=0;ist0.length();i+)String ss=Character.toString(chli);/ 把字符转为字符串 arri=lnteger.valueOf(ss

8、).intValue();/再把字符串转为整型依次放入整型数组d+=arri*Tow_n(j);for(int i=O;istl.length();i+)String ss=Character.toString(ch2i);/把字符转为字符串 drri=Double.parseDouble(ss);/再把字符串转为double型依次放入数 组b+=drri*Tow_N(i+l);c=(double)d+b;s+=c+;return s;public static void main(String args) Sea nner sc=new Sea nn er(System.i n);long startTime = System.curre ntTimeMillis();System.out.println(iW输入 2 进制数:);String str=sc.nextLine();System.out.println(结果为十进制数:+BtoT_fun(str);long endTime = System.currentTimeMillis();long usedTime = endTime startTime;System.out-printlnf1所用时间:+usedTime);

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

当前位置:首页 > 办公文档 > 模板/表格 > 财务表格

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号