Visual c++ 在C+中将十进制数组转换为二维16位字符数组+;

Visual c++ 在C+中将十进制数组转换为二维16位字符数组+;,visual-c++,Visual C++,我想把十进制值转换成16位二进制值。我在另一个代码中使用了此代码 #include <iostream> #include <bitset> int main() { int x = 5; std::bitset<8> bin_x(x); std::cout << bin_x; return 0; } #包括 #包括 int main(){ i

我想把十进制值转换成16位二进制值。我在另一个代码中使用了此代码

      #include <iostream>
      #include <bitset>

      int main() { 
      int x = 5;

      std::bitset<8> bin_x(x);
      std::cout << bin_x;

      return 0;
      }
#包括
#包括
int main(){
int x=5;
std::位集bin_x(x);
std::cout
#包括
使用名称空间std;
#包括
int main(){
int DecimalArray[]={1,2,3,4,5,22555,85,18741};//创建一个十进制数数组。
const int ArrayLen=sizeof(DecimalArray)/sizeof(int);//将十进制数组的大小存储在常量中
//strcpy(二进制数组[i],“0000000000000000”);
char BinaryArray[ArrayLen][17];//为二进制编号创建相同长度的数组。
int i;

对于(i=0;ino,它不起作用。我希望十进制值为16位二进制。对于1的exmaple,我需要二进制数组中的000000000000000 1。当您将行“bin_x=BinaryArray[i][j]”替换为我建议的“BinaryArray[i][j]=bin_x[j]”时会发生什么情况?对于每次迭代,我只在BinaryArray中获得“0”。我更新了我的答案。这对您来说应该更好。(请注意,您可能还想用bin_x[15-j]替换bin_x[j],这样您就不会得到相反的二进制表示。)我该如何检查我在二进制数组中得到的值是否正确。我认为它给出了第i个和第j个位置的位,而没有给出整个16位字符
    #include<iostream>
    using namespace std;
    #include <bitset>

     int main(){

int DecimalArray[] = {1,2,3,4,5,22,555,85,18,741}; //Create an array of decimal   numbers.

const int ArrayLen = sizeof(DecimalArray)/sizeof(int); //Store the size of the Decimal Array in a constant
 //strcpy(BinaryArray[i], "0000000000000000");
char BinaryArray[ArrayLen][16]; //Create an array of the same length for binary nos.


for(int i = 0; i<ArrayLen; i++)
{

    int CurrentDec = DecimalArray[i]; //Store current Decimal number in  CurrentDec variable

    strcpy(BinaryArray[i], "0000000000000000");

std::bitset<16> bin_x(CurrentDec);
cout<< "bin"<<bin_x<< endl;
for (int j = 0; j<15; j++)
         {
 bin_x=BinaryArray[i][j];


    cout<< "b1"<< BinaryArray[i] << endl;
     }


cout<<"The Decimal numbers and their Binary Equivalents are:\n\n";
cout<<"Decimal  Binary \n\n";
}

//Output both arrays
for( i = 0; i<ArrayLen; i++){
    cout<<DecimalArray[i]<<"\t "<<BinaryArray[i]<<endl;
}

cin.get();
return 0;

      }
       but i do not get the value in BinaryArray. kindly help me with it, its very urgent. Thanks!
           #include<iostream>

           using namespace std;

           #include <bitset>

           int main(){

           int DecimalArray[] = {1,2,3,4,5,22,555,85,18,741}; //Create an array of decimal numbers.

            const int ArrayLen = sizeof(DecimalArray)/sizeof(int); //Store the size of the Decimal Array in a constant
           //strcpy(BinaryArray[i], "0000000000000000");
           char BinaryArray[ArrayLen][17]; //Create an array of the same length for binary nos.

           int i;

           for(i = 0; i<ArrayLen; i++)
            {

           int CurrentDec = DecimalArray[i]; //Store current Decimal number in       CurrentDec variable
           int index = 1, CurrentBin = 0;
           strcpy(BinaryArray[i], "0000000000000000");

           std::bitset<16> bin_x(CurrentDec);
           cout<< "bin"<<bin_x<< endl;
           for (int j = 0; j<16; j++)
           {
            if (bin_x[15-j])
               {

                 BinaryArray[i][j] = '1';
                  }



                  cout<< "b1"<< BinaryArray[i][j]<<endl ;

                    }

                     }


               cout<<"The Decimal numbers and their Binary Equivalents are:\n\n";
               cout<<"Decimal Binary \n\n";


               //Output both arrays
               for( i = 0; i<ArrayLen; i++){
               cout<<DecimalArray[i]<<"\t "<<BinaryArray[i]<<endl;
                }



               cin.get();
               return 0;

                }