C++ 从十进制数字转换为二进制数字,最多n位
我将十进制数转换为n个二进制位,然后将其分离为n个二进制位,然后将其分配给x×x网格 例如:-325->101000101->1,0,1,0,0,0,1,0,1 我已经写了下面的代码,请帮我弄清楚这个任务应该使用什么算法。谢谢C++ 从十进制数字转换为二进制数字,最多n位,c++,algorithm,C++,Algorithm,我将十进制数转换为n个二进制位,然后将其分离为n个二进制位,然后将其分配给x×x网格 例如:-325->101000101->1,0,1,0,0,0,1,0,1 我已经写了下面的代码,请帮我弄清楚这个任务应该使用什么算法。谢谢 int binary_num[100]; int separate_num[100]; for (int i = 0; i<pow(2,4); i++) { int j = 0; int n = i; whi
int binary_num[100];
int separate_num[100];
for (int i = 0; i<pow(2,4); i++) {
int j = 0;
int n = i;
while(n>0) {
binary_num[j] = n%2;
j++;
n /= 2;
}
for (int k = j-1; j>=0; j--) {
int h = 0;
separate_num[h] = binary_num[k];
h++;
}
}
return 0;
int binary_num[100];
int separate_num[100];
对于(int i=0;i0){
二进制数[j]=n%2;
j++;
n/=2;
}
对于(int k=j-1;j>=0;j--){
int h=0;
分离的_num[h]=二进制的_num[k];
h++;
}
}
返回0;
使用位集查找所需的位数,您可以将其存储在数组中,然后在网格中打印int binary_num[]={}代码>是一个空数组。您确定编译器接受它吗?即使是这样。。。您希望在空数组(容量为0个元素)中存储什么?不是答案,但为什么不使用std::bitset
…或std::vector
?与这些问题一样,这里没有十进制到二进制的转换。您正在将二进制文件转换为可打印的二进制文件。不一样。二进制数数组应该存储在二进制数中,最多n位。我不确定,如何在那个数组中只存储uto-n位