double型10进制转二进制

来源:互联网 发布:python高并发解决方案 编辑:程序博客网 时间:2024/06/08 06:35

整数部分:除二取余

Integer.toBinaryString() 

小数部分:乘二取整

例子

从键盘输入某个十进制小数,转换成对应的二进制小数并输出。
(查询十进制小数转换成二进制小数的算法,使用循环来实现。最多保留小数位后7位数字即可)
/*
Scanner sc=new Scanner(System.in);
System.out.println("输入一个十进制小数");
double a=sc.nextDouble();
int b=(int)a; //整数部分为b
double x=a-b; //小数部分x
//小数部分 乘2取整
double sum=0.0,k=0.1;
int h = 1;
for(;;k=k/10){
x=(x-(int)x)*2;
sum+=(int)x*k;
h++;
if(x-(int)x==0.0||h==15){
break;
}
}
System.out.println(Integer.toBinaryString(b)+sum);
*/