import java.util.Scanner;
public class Trans {
public static void main(String []args){
while(true){
Scanner input = new Scanner(System.in);
int n = input.nextInt();
String s = transInt(n);
System.out.println(s);
double d = input.nextDouble();
String s2 =transDouble(d);
System.out.println("0."+s2);
input.close();
}
}
public static String transInt(int num){
String asw = "";
while(num!=0){
asw = (num%2)+asw;
num = num/2;
}
return asw;
}
public static String transDouble(double num){
if(num>1){
return "false";
}
String asw = "";
for(int i=0;i<10;i++){
num*=2;
if(num>=1){
asw+="1";
num = num-1;
}else{
asw+="0";
}
if(num==0){
break;
}
}
return asw;
}
}
分别对十进制的整数以及1一下的小数进行进制转化
本文介绍了一个Java程序,该程序能够将十进制的整数和小于1的小数部分转换为二进制形式。整数部分通过不断除以2并记录余数的方式进行转换;小数部分则通过乘以2并截取整数部分的方式进行转换,直至达到指定精度或小数部分变为0。

1万+

被折叠的 条评论
为什么被折叠?



