我编写了2个程序,将HEX转换为DEC,DEC转换为BIN。 当我单独测试它们时,它们会起作用。 当我把它们放在一起时,它输出正确的DEC代码,但错误的BIN代码。 我该如何解决这个问题?
#include <iostream>
int main()
{
int hex;
std::cin >> std::hex >> hex;
std::cout << hex << std::endl;
system("pause");
return 0;
}
#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;
}
#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;
}
答案 0 :(得分:1)
看起来你想要
Number = hex;
而不是
hex = Number;
请记住,作业从正确转到左。
答案 1 :(得分:0)
hex = Number;
您的“HEX to BIN”部分始终在0
上运行。总是。也许你的意思是Number = hex;
。