标题** 要求 : Java 用循环实现,十进制小数,转换成对应的二进制小数并输出。最多保留小数位后7位数字。**
public class 十进制转换二进制小数
{
public static void main(String[] args)
{
//给定一个十进制小数
double d = 0.6666;
//转换
double mul = d;
StringBuffer buffer = new StringBuffer("0.");
//定义一个计数器
int count=0;
do
{
//拿整数部分
int i = (int)mul*2;
buffer.append(i);
if ( count==7 )
{ break; }
count++; //保留7位
mul = mul*2-i; //取出小数部分作为下一次的乘数
}
while ( mul!=0 ); //循环条件, 小数部分乘以2时乘数为0则退出
System.out.println( d+ " --------> " + buffer );
}
}
输出结果:
0.6666 --------> 0.02020202