程序员面试金典——二进制小数_(位运算)
2017-05-28 19:35
176 查看
题目描述
有一个介于0和1之间的实数,类型为double,返回它的二进制表示。如果该数字无法精确地用32位以内的二进制表示,返回“Error”。给定一个double num,表示0到1的实数,请返回一个string,代表该数的二进制表示或者“Error”。
测试样例:
0.625
返回:0.101
import java.util.*;
public class BinDecimal {
public String printBin(double num) {
// write code here
StringBuffer buffer = new StringBuffer("0.");
int count =32;
while(num!=0.0){
count--;
num*=2;
if(num>=1){
buffer.append("1");
num-=1;
}else {
buffer.append("0");
}
if(count==0)return "Error";
}//while
return buffer.toString();
}
}
相关文章推荐
- 程序员面试金典: 二进制插入、二进制小数
- 二进制中1的个数(java)——位运算
- 方法:十进制小数转换二进制
- 程序员面试金典——整数转化__(位运算)
- 十进制小数转化为二进制小数
- 正数(十进制)变二进制 除以2取余 小数(十进制)变二进制 乘以2取整数
- java实现十进制整数或小数转换成二进制
- 【位运算】求两个数的二进制有多少位不同
- 十进制小数转换二进制、八进制、十六进制
- Java 位运算(移位、位与、或、异或、非) 以及负数的二进制相互计算
- 二进制、位运算、位移运算
- 二进制小数
- 二进制的位运算
- [c]位运算计算一个数的二进制
- 十进制小数转化为二进制小数
- 十进制小数转二进制序列
- C语言小程序——十进制小数转二进制小数
- 小数的二进制表示,阶码
- 二进制,位运算,移位运算
- 十进制小数与二进制小数之间的互相转换