**
将float类型的十进制数转换成二进制(小数点保留四位)
**
package App_suanfa;
import java.util.Scanner;
public class TenToTwo {
public static void main(String[] args) {
float num = 0;
int inte;
float spot;
System.out.println("请输入一个数");
Scanner sc = new Scanner(System.in);
num =sc.nextFloat();
inte=(int)num;
spot=num-inte;
//整数转二进制
inte=Integer.parseInt(Integer.toBinaryString(inte));
//小数转二进制
char a[]=new char[4];
for(int i=0;i<a.length;i++) {
spot*=2;
if(spot>=1) {
a[i]='1';
spot=spot-1;
}else {
a[i]='0';
}
}
spot=Integer.parseInt(String.valueOf(a));
spot=spot/10000;
//整数小数求和
num=inte+spot;
System.out.println("转换成二进制为:");
System.out.printf("%.4f",num);
}
}
如有大神发现错误,请及时指出。