二进制数转字符串

题目链接

二进制数转字符串

题目描述

注意点

  • 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 分钟前
Java教程:JavaWeb ---MySQL高级
java·开发语言·mysql
白仑色10 分钟前
Spring Boot 多环境配置详解
java·spring boot·后端·微服务架构·配置管理
超级小忍13 分钟前
在 Spring Boot 中优化长轮询(Long Polling)连接频繁建立销毁问题
java·spring boot·后端
David爱编程16 分钟前
Java 中 Integer 为什么不是万能的 int 替代品?
java·后端
老马啸西风18 分钟前
个人网站一键引入免费开关评论功能 giscus
java
科大饭桶40 分钟前
数据结构自学Day5--链表知识总结
数据结构·算法·leetcode·链表·c
小高Baby@41 分钟前
map数据结构在Golang中是无序的,并且键值对的查找效率较高的原因
数据结构
北风toto41 分钟前
python学习DataFrame数据结构
数据结构·python·学习
Z_W_H_42 分钟前
【springboot】IDEA手动创建SpringBoot简单工程(无插件)
java·spring boot·intellij-idea
HeXDev1 小时前
【SkyWalking】服务端部署与微服务无侵入接入实战指南
java·微服务·架构·skywalking·链路追踪·微服务治理