该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
public class TestNumber {
public static String toBinArray(int num) {
boolean isNegative = num < 0;
int abs = Math.abs(num);
String binString = "";
while (abs > 0) {
if (!isNegative) {
int mod = abs % 2;
binString = mod + binString;
abs = abs / 2;
} else {
abs = abs - 1;
int len = (1 << 30);
if (abs > len)
throw new RuntimeException();
while (len > 0) {
int mod = 1;
if (len <= abs) {
mod = 0;
abs = abs - len;
binString = binString + mod;
} else {
binString = binString + mod;
}
len = len>>1;
}
binString = 1 + binString;
}
}
if (num == 0)
return 0 + "";
else
return binString;
}
public static void main(St