Java解决十进制转换二进制,帮忙挑错,多谢啦~~~

主要是倒数第二段的问题,不管什么数输进去,小数部分都是0,所以帮忙改下吧~多谢啦~importjava.util.Scanner;publicclassTest{publ... 主要是倒数第二段的问题,不管什么数输进去,小数部分都是0,所以帮忙改下吧~多谢啦~

import java.util.Scanner;
public class Test{
public static void main(String[] args){
System.out.print("请输入一个十进制数:");
Scanner keyboard = new Scanner(System.in);
double data = keyboard.nextDouble();
int intData = (int)data;
double decimalData = data - intData;

String intPart = "";
String decimalPart = "" ;

while(intData!=0) {
intPart = intPart + intData%2;
intData = intData/2;

}
String intStr = "";
for(int i = intPart.length() - 1;i >= 0;i --)
intStr += intPart.charAt(i);

String decimalStr = "";
for(int n = 0;n < 5;n++){
double temp = decimalData * 2;
temp = temp - (int)temp;
decimalStr +=(int)temp;
}
System.out.print("转化后的二进制为:" + intStr +"."+ decimalStr);
}
}
展开
 我来答
84许
2014-03-19 · TA获得超过379个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:224万
展开全部

这样改:

      for(int n = 0;n < 5;n++){
       double temp = decimalData * 2;
       decimalData = temp - (int)temp;
       decimalStr +=(int)temp;
       }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式