leetcode在力扣 App 中打开
调试中...
调试中...
题目描述
题目描述
题解
题解
提交记录
提交记录
代码
代码
测试用例
测试用例
测试结果
测试结果
中等
相关标签
相关企业
提示

二进制数转字符串。给定一个介于 0 和 1 之间的实数(如 0.72),类型为 double,打印它的二进制表达式。如果该数字无法精确地用 32 位以内的二进制表示,则打印“ERROR”。

示例 1:

输入:0.625
输出:"0.101"

示例 2:

输入:0.1
输出:"ERROR"
提示:0.1 无法被二进制准确表示

 

提示:

  • 32位包括输出中的 "0." 这两位。
  • 题目保证输入用例的小数位数最多只有 6
通过次数
40.4K
提交次数
52.6K
通过率
76.7%


相关企业

提示 1
为了解决这个问题,试着想想如何用它来处理整数。

提示 2
像0.893这样的数字(以10为底),每个数字代表什么?那么以2为底的0.10 010中的每个数字代表什么?

提示 3
一个数字如0.893(以10为底)表示8×101 + 9×102 + 3×103。将此系统转换为以2为底。

提示 4
你将如何获得0.893中的第一个数字?如果乘以10,那么你会改变值得到8.93。如果乘以2,结果会是什么?

提示 5
想想那些不能用二进制精确表示的值会发生什么。

评论 (0)

《程序员面试金典(第 6 版)》独家授权
本书是原谷歌资深面试官的经验之作,帮助了许多想要加入脸书、苹果、谷歌等 IT 名企的求职者拿到 Dream offer。本专题的 100+ 编程面试题是在原书基础上精心挑选出来的,帮助你轻松应战 IT 名企技术面试。
© 2025 领扣网络(上海)有限公司
0 人在线
行 1,列 1
num =
0.625
Source