我写了2个程序,将HEX转换为DEC和DEC转换为BIN。 当我测试他们seperatly他们的工作。 当我把它们放在一起时,它会输出正确的DEC码,但输出错误的BIN码。 我该如何解决这个问题?HEX到BIN转换
HEX到DEC
#include <iostream>
int main()
{
int hex;
std::cin >> std::hex >> hex;
std::cout << hex << std::endl;
system("pause");
return 0;
}
DEC到BIN
#include <iostream>
using namespace std;
int main()
{
int Number;
cin >> Number;
bool Binary[sizeof(int) * CHAR_BIT];
for(unsigned int i = 0; i < sizeof(int) * CHAR_BIT; i++)
Binary[(sizeof(int) * CHAR_BIT - 1) - i] = Number & (1 << i);
for(unsigned int i = 0; i < sizeof(int) * CHAR_BIT; i++)
std::cout << Binary[i];
std::cout << endl;
system ("pause");
return 0;
}
HEX到BIN
#include <iostream>
int main()
{
int hex = 0;
int Number = 0;
std::cin >> std::hex >> hex;
std::cout << hex << std::endl;
hex = Number;
bool Binary[sizeof(int) * CHAR_BIT];
for(unsigned int i = 0; i < sizeof(int) * CHAR_BIT; i++)
Binary[(sizeof(int) * CHAR_BIT - 1) - i] = Number & (1 << i);
for(unsigned int i = 0; i < sizeof(int) * CHAR_BIT; i++)
std::cout << Binary[i];
std::cout << std::endl;
system("pause");
return 0;
}
你是什么意思“错误的BIN码”?你能展示输入和输出的例子吗?另外,你是什么意思的“放在一起”? – 2012-03-07 10:12:31
输入:F(十六进制) 输出:15(dec)和0(bin) “放在一起”,所以程序从输入的十六进制值 – Joriek 2012-03-07 10:15:06