二进制数转字符串

题目链接

二进制数转字符串

题目描述

注意点

  • 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";
    }
}

关键点

  • 小数转为二进制的思路
相关推荐
豆沙沙包?3 分钟前
2026年--Lc336-1448. 统计二叉树中好节点的数目(树)--java版
java·开发语言·深度优先
青小莫5 分钟前
C++之类和对象(下)
java·开发语言·c++
逑之6 分钟前
C语言笔记12:C语言内存函数
c语言·笔记·算法
9号达人6 分钟前
AI最大的改变可能不是写代码而是搜索
java·人工智能·后端
Wiktok8 分钟前
关于Python继承和super()函数的问题
java·开发语言
七夜zippoe9 分钟前
数据库事务隔离级别与Spring传播行为深度解析
java·数据库·spring·mvcc·acid·myslq
ltqshs14 分钟前
嵌入式C语言-指针数组和数组指针
c语言·数据结构·算法
Stecurry_3018 分钟前
Springmvc理解从0到1 完整代码详解
java·spring boot·spring
小小宫城狮21 分钟前
BPE 算法原理与训练实现
算法·llm
胡萝卜不甜23 分钟前
算法宗门---广度有优先搜索BFS
算法·宽度优先