Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从十进制数字转换为二进制数字,最多n位_C++_Algorithm - Fatal编程技术网

C++ 从十进制数字转换为二进制数字,最多n位

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

我将十进制数转换为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;
        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位