【发布时间】:2018-03-26 16:18:40
【问题描述】:
我正在尝试使用迭代过程将十进制数转换为二进制数。我怎样才能使它的空间复杂度为 O(1) 而不是 O(n)?
int i = 0;
int j;
int bin[] = new int[n]; //n here is my paramater int n
while(n > 0) {
bin[i] = n % 2;
n /= 2;
i++;
}
//I'm reversing the order of index i with variable j to get right order (e.g. 26 has 11010, instead of 01011)
for(j = i -1; j >= 0; j--) {
System.out.print(bin[j]);
}
【问题讨论】:
-
阅读按位运算符和一般的位操作(或“位摆弄”)。
标签: java algorithm binary iteration decimal