题目如题所示
package DataStructure;
import java.util.Scanner;
public class _2进制表示小数 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input =new Scanner(System.in);
System.out.printf("please input a decimal:\n");
double N=input.nextDouble();
//定义符号记录变化的值
StringBuilder sb =new StringBuilder("0.");
while(N>0) {
N=N*2;
if(N>=1) {
sb.append(1);
N=N-1;
}
else {
sb.append(0);
}
//如果32位精度不足以表示, 那么输出"error"
if(sb.length()>34)
{
System.out.printf("error");
return;
}
}
System.out.print(sb);
}
}