题目
Description
将十进制整数转换成二进制数
Input
输入数据中含有不多于50个整数n(-2^16<n<2^16)。
Output
对于每个n,输出n值,然后输出“–>”,再然后输出二进制数。每个整数n的输出,独立占一行。
Sample Input
2
0
-12
1
Sample Output
2–>10
0–>0
-12–>-1100
1–>1
代码块
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cn = new Scanner(System.in);
int[] a = new int[1011];
while (cn.hasNext()) {//多组输入
int n = cn.nextInt();
if (n == 0) {//当输入0 时做输出
System.out.println(n + "-->" + n);
} else if(n>0){//当输入是正数时做输出
int t = n;
int i = 0;
while (t > 0) {
a[i] = t % 2;
t /= 2;
i++;
}
System.out.print(n + "-->");
for (int j = i - 1; j >= 0; j--) {
System.out.print(a[j]);
}
System.out.println();
}
else{//当输入是负数时做输出
int z = Math.abs(n);
int i = 0;
while (z > 0) {
a[i] = z % 2;
z /= 2;
i++;
}
System.out.print(n + "-->"+"-");
for (int j = i - 1; j >= 0; j--) {
System.out.print(a[j]);
}
System.out.println();
}
}
cn.close();
}
}