Visual c++ 在C+中将十进制数组转换为二维16位字符数组+;
我想把十进制值转换成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
#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;
}