二进制数转字符串

题目链接

二进制数转字符串

题目描述

注意点

  • 32位包括输出中的 "0." 这两位
  • 题目保证输入用例的小数位数最多只有 6 位

解答思路

  • 将小数转为二进制的思路是将小数乘2,如果整数部分为1,则说明第i位是1(第i位则乘了2的几次方),否则说明第i位是0,循环该过程直到num为0或者字符串长度大于32(题目要求数字无法精确地用32位以内的二进制表示,则打印"ERROR")

代码

java 复制代码
class Solution {
    public String printBin(double num) {
        StringBuilder sb = new StringBuilder("0.");
        while (sb.length() <= 32 && num != 0) {
            num *= 2;
            if (num < 1) {
                sb.append("0");
            } else {
                sb.append("1");
                num -= 1;
            }
        }
        return num == 0 ? sb.toString() : "ERROR";
    }
}

关键点

  • 小数转为二进制的思路
相关推荐
追随者永远是胜利者25 分钟前
(LeetCode-Hot100)253. 会议室 II
java·算法·leetcode·go
Jason_Honey21 小时前
【平安Agent算法岗面试-二面】
人工智能·算法·面试
程序员酥皮蛋1 小时前
hot 100 第三十五题 35.二叉树的中序遍历
数据结构·算法·leetcode
追随者永远是胜利者1 小时前
(LeetCode-Hot100)207. 课程表
java·算法·leetcode·go
仰泳的熊猫2 小时前
题目1535:蓝桥杯算法提高VIP-最小乘积(提高型)
数据结构·c++·算法·蓝桥杯
那起舞的日子2 小时前
动态规划-Dynamic Programing-DP
算法·动态规划
yanghuashuiyue3 小时前
lambda+sealed+record
java·开发语言
闻缺陷则喜何志丹3 小时前
【前后缀分解】P9255 [PA 2022] Podwyżki|普及+
数据结构·c++·算法·前后缀分解
每天吃饭的羊3 小时前
时间复杂度
数据结构·算法·排序算法
盟接之桥3 小时前
盟接之桥EDI软件:API数据采集模块深度解析,打造企业数据协同新引擎
java·运维·服务器·网络·数据库·人工智能·制造