import java.util.*;
public class Test1{
public static String toBinary(int a){
String sr="";
String sc="";
int count=0; //二进制长度
int b=Math.abs(a);
while(b!=0){
sr=(b%2)+sr;
b=b/2;
count++;
}
if(a==0){
for(int i=0;i<16-count;i++){ //16位的二进制
sc+="0";
}
return sc;
}
if(a>0){
for(int i=0;i<16-count;i++){ //16位的二进制
sc+="0";
}
return sc+sr;
}
else{
for(int i=0;i<16-count;i++){ //16位的二进制
sc+="1";
}
for(int i=0;i<sr.length();i++){ //取反
if(sr.charAt(i)=='1'){
sc+='0';
}
else
sc+='1';
}
//加一
int m=sc.length(); //记录原SC的长度
for(int i=sc.length()-1;i>=0;i--){
if(sc.charAt(i)=='1'){
sc=sc.substring(0,i);
for(int j=0;j<m-i;j++)
sc+='0';
}
else{
sc=sc.substring(0,i);
sc+='1';
for(int j=0;j<m-i-1;j++)
sc+='0';
break;
}
}
return sc;
}
}
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.println("请输入十进制:");
int a=input.nextInt();
System.out.print(toBinary(a));
}
}
java 用String类实现十进制转二进制
原文作者:进制转换
原文地址: https://blog.csdn.net/qq_28929579/article/details/51524410
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/qq_28929579/article/details/51524410
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。