做变形记图网站,wordpress 克隆,手机商城小程序,seo服务外包报价题目链接
二进制数转字符串
题目描述 注意点
32位包括输出中的 “0.” 这两位题目保证输入用例的小数位数最多只有 6 位
解答思路
将小数转为二进制的思路是将小数乘2#xff0c;如果整数部分为1#xff0c;则说明第i位是1#xff08;第i位则乘了2的几次方#xff09;…题目链接
二进制数转字符串
题目描述 注意点
32位包括输出中的 “0.” 这两位题目保证输入用例的小数位数最多只有 6 位
解答思路
将小数转为二进制的思路是将小数乘2如果整数部分为1则说明第i位是1第i位则乘了2的几次方否则说明第i位是0循环该过程直到num为0或者字符串长度大于32题目要求数字无法精确地用32位以内的二进制表示则打印“ERROR”
代码
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;}
}
关键点
小数转为二进制的思路