题目: 从键盘输入某个十进制小数,转换成对应的二进制小数并输出。(查询十进制小数转换成二进制小数的算法,使用循环来实现。最多保留小数位后7位数字即可)。
Scanner sc=new Scanner(System.in);System.out.println("请输入一个数:");double aDouble();//取出整数部分int z=(int)a;//取出小数部分double x=a-z;//把整数部分转换为二进制long sumz=0,n=1;for (int i=z;i>0;i/=2 ){sumz+=i%2*n;//每次求余得到的0或1乘nn*=10;//相当于每次向前进一位}//把小数部分转换为二进制(乘2取整)double sumx=0.0,k=0.1;for(int h=0;;k/=10){x=(x-(int)x)*2;//小数部分减去整数部分,每次乘2取整数sumx+=(int)x*k;//整数部分乘if(x-(int)x==0|| h==7)//x等于1时结束。或者保留小数点后位7break;}System.out.println("转换为二进制为:"+(sumz+sumx));
本文发布于:2024-02-01 07:48:08,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170674488934987.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |