私は、反復処理を使用して小数を2進数に変換しようとしています。これをO(n)ではなくO(1)の空間の複雑さにするにはどうすればよいですか?これをO(n)ではなくO(1)の空間の複雑さにするにはどうすればよいですか?
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]);
}
ビット演算子をよく読んで、ビット操作(または「ビットいじります」)。 – m69