Я хочу преобразовать десятичные числа в двоичные числа. Я хочу сохранить их в массиве. Сначала мне нужно создать массив с определенной длиной, чтобы сохранить двоичные числа. После этого я выполняю преобразование, вот как я это делаю:Десятичное двоичное преобразование
public class Aufg3 {
public static void main(String[] args) {
int[] test = decToBin(12, getBinArray(12));
for(int i = 0; i < test.length; i++){
System.out.println(test[i]);
}
}
public static int[] getBinArray(int number){
int res = number, length = 0;
while(res != 0){
res /= 2;
length++;
}
return new int[length];
}
public static int[] decToBin(int number, int[] array){
int res = number, k = array.length-1;
while(res != 0){
if(res%2 == 0){
array[k] = 0;
}else{
array[k] = 1;
}
k--;
res /= 2;
}
return array;
}
}
Есть ли что-нибудь для улучшения? Он должен печатать 1100 для ввода 12
Это домашнее задание? Если это так, вы должны пометить его как таковой. –
@Jim: [«Домашний тег ... теперь обескуражен») (http://meta.stackoverflow.com/q/10812), но, @ArtWorkAD, пожалуйста (как всегда) следуйте [общим рекомендациям] (http : //tinyurl.com/so-hints): укажите какие-либо специальные ограничения, покажите, что вы пробовали до сих пор, и спросите, что конкретно вас путает. – 2010-11-12 14:09:48