题目
给定一个介于0和1之间的实数,(如0.625),类型为double,打印它的二进制表示(0.101,因为小数点后的二进制分别表示0.5,0.25,0.125……)。
如果该数字无法精确地用32位以内的二进制表示,则打印”ERROR”
思路
将改浮点数*2,得到一个新的$num,再判断$num>=1,如果大于则在0.后面拼接上1,否则拼接0,最后循环至$num==0结束
代码实现
1 | function getBin($num) { |
结果
1 | 0.625 |
曾梦想仗剑走天涯 看一看世界的繁华
给定一个介于0和1之间的实数,(如0.625),类型为double,打印它的二进制表示(0.101,因为小数点后的二进制分别表示0.5,0.25,0.125……)。
如果该数字无法精确地用32位以内的二进制表示,则打印”ERROR”
将改浮点数*2,得到一个新的$num,再判断$num>=1,如果大于则在0.后面拼接上1,否则拼接0,最后循环至$num==0结束
1 | function getBin($num) { |
1 | 0.625 |
WeChat Pay