算法——二进制小数转换
二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字不在0和1之间,或者无法精确地用32位以内的二进制表示,则打印“ERROR”。
链接: leetcode.
二进制小数转化为十进制
十进制小数转化为二进制
class Solution {
public String printBin(double num) {
StringBuffer sb = new StringBuffer();
sb.append("0.");
while(num != 0) {
num *= 2;
if(num >= 1) {
sb.append(1);
num -= 1;
}else {
sb.append(0);
}
if(sb.length() > 32)
return "ERROR";
}
return sb.toString();
}
}