58,452
社区成员




public String test1(int number){
StringBuffer bf = new StringBuffer(Integer.SIZE);
int m = 0x40000000;
bf.append(number < 0 ? 1 : 0);//符号标记
for(int i = 1; i < Integer.SIZE; i ++){
if(i > 0 && i % 4 == 0){
bf.append(" ");
}
bf.append( ( number & m ) == 0 ? 0 : 1);
m = m >> 1;
}
String str = bf.toString();
System.out.println(number + "\t \t: \t" + str);
return str;
}
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
Test1 t = new Test1();
int j = 1;
System.out.print("Please enter the number of decimal:");
int m = read.nextInt();
int flag = 0;
if(m < 0){
flag = 1;
}
int n = Math.abs(m);
int[] x = new int[n+2];
t.dec2bin(n,j,x);
System.out.print("The binary is:");
if (flag == 1) {
System.out.print("-");
}
for (int i = x[0]; i >= 1; i--) {
System.out.print(x[i]);
}
}
private int[] dec2bin(int n,int i,int [] m) {
if (n < 2) {
m[i] = n;
m[0] = i;
return m;
} else {
m[i] = n % 2;
i++;
return dec2bin(n / 2,i,m);
}
}
}