Geek

博客园 首页 新随笔 联系 订阅 管理

题目描述

给定一个double num,范围是0到1的实数,若其能用32位以内的二进制表示出来则返回值string为其二进制值,若不能则返回值为“Error”。

测试样例:
 
import java.util.*;

public class BinDecimal {
    final static String error = "Error";
    public String printBin(double num) {
        // write code here
        StringBuilder sb = new StringBuilder("0.");
        while(num > 0) {
            if(sb.length() >32) return error;
            num*=2;
            if(num>=1) {
                sb.append(1);
                num -=1;
            }else{
                sb.append(0);
                
            }
        }
        return sb.toString();
    }
}

 

posted on 2020-10-29 14:11  .geek  阅读(66)  评论(0编辑  收藏  举报