题目如下:
public class 二进制表示浮点数 {
/**
* @param args
*/
public static void main(String[] args) {
double num = 0.625;
//拼接字符串
StringBuilder sb = new StringBuilder("0.");
while (num > 0) {
//乘以2得出整数部分
double r = num*2;
//判断整数部分
if (r>=1) {
sb.append("1");
//消除整数部分
num = r-1;
}else {
sb.append("0");
num = r;
}
//带上了0.所以长度是34
if (sb.length()>34) {
System.out.println("ERROR");
return;
}
}
System.out.println(sb.toString());
}
}