LeetCode 面试题 05.02. 二进制数转字符串 原题思路代码运行截图收获 原题 LeetCode 面试题 05.02. 二进制数转字符串 思路 小数转二进制的规则:小数2 取整数部分,直至乘后结果刚好为1。例如:0.6252 = 1.25, 取1,小数部分的0.25继续乘以2为0.5,取0,小数部分0.5乘以2为1,停止,结果为0.101。输出的32位中包括“0.”这两位,直接用字符串变量ans存储,变量num乘后的整数进行判断,大于1的话ans直接在后拼接’1’,否则拼’0’,刚好为1就退出循环,30次循环后未输出则输出"ERROR"。 代码 class Solution { public: string printBin(double num) { string ans = "0."; int i = 0; while (i < 30) { num *= 2; i++; if (num >= 1) { ans += '1'; if (num == 1){ return ans; break; } else num -= 1; } else ans += '0'; } return "ERROR"; } }; 运行截图 收获 小数变二进制