java中十进制数转二进制数的方法

java中十进制数转二进制数的方法

ID:11111794

大小:40.50 KB

页数:4页

时间:2018-07-10

java中十进制数转二进制数的方法_第1页
java中十进制数转二进制数的方法_第2页
java中十进制数转二进制数的方法_第3页
java中十进制数转二进制数的方法_第4页
资源描述:

《java中十进制数转二进制数的方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、importjava.util.Stack;publicclassTest{publicstaticvoidmain(String[]args){System.out.println(toBinary(32));//第一种Stringstring=Integer.toBinaryString(32);//第二种System.out.println(string);}publicstaticStringtoBinary(inta){Stringstr="";Stacks=newStack();whi

2、le(a!=0){s.push(a%2);a=a/2;}while(!s.empty()){str+=s.pop();}returnstr;}}十进制数转二进制数,跟据不同的开发语言其转换方式有很多,在Java中如果相把一个十进制的整数来转换成二进制那是举手之劳,非常简单,只要用Integer.toBinaryString(int)方法就可以得到结果。但如果转换的不是一个整数,而是一个带小数部分的十进制数,那就没有那么容易了。由于整数和小数的转换方式不同,所以先将十进制数的整数部分和小数部分分别转

3、换后,再合并转换后的结果即得到想要的结果。十进制数转二进制数的算法如下:1.十进制整数转换为二进制整数十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。2.十进制小数转换为二进制小数十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将

4、积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。下面就给出根据十进制数转二进制数的算法所写的一段Java程序以供大家参考:1.importjava.math.BigDecimal;2.3.publicclassTest{4.5.publicstaticvoidmain(String[]args){6.Testt

5、=newTest();7.doubled=8;8.Strings=t.decimal2BinaryStr(d);9.System.out.println("十进制数"+d+"转成二进制数为:"+s);10.}11.12./**13.*十进制数转二进制数14.*@paramd十进制数15.*@return十进制数转换成二进制的字符串16.*/17.publicStringdecimal2BinaryStr(doubled){18.Stringresult=decimal2BinaryStr_Inte

6、(d);19.result+=decimal2BinaryStr_Deci(d);20.returnresult;21.}22.23./**24.*十进制整数部分转二进制数25.*@paramd十进制数26.*@return十进制整数部分转换成二进制的字符串27.*/28.publicStringdecimal2BinaryStr_Inte(doubled){29.//returnInteger.toBinaryString((int)d);30./*31.*本来利用上面的Integer.toBi

7、naryString(int)就可以得到整数部分的二进制结果,32.*但为了展示十进制转二进制的算法,现选择以下程序来进行转换33.*/34.Stringresult="";35.longinte=(long)d;36.intindex=0;37.while(true){38.result+=inte%2;39.inte=inte/2;40.index++;41.if(index%4==0){42.result+="";43.}44.if(inte==0){45.while(index%4!=0)

8、{46.result+="0";47.index++;48.}49.break;50.}51.}52.char[]c=result.toCharArray();53.char[]cc=newchar[c.length];54.for(inti=c.length;i>0;i--){55.cc[cc.length-i]=c[i-1];56.}57.returnnewString(cc);58.}59.60./**61.*十进制小数部分转二进制62.*@paramd十进制数63.*@re

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。