HEX到BIN转换

时间:2012-03-07 10:09:40

标签: c++

我编写了2个程序,将HEX转换为DEC,DEC转换为BIN。 当我单独测试它们时,它们会起作用。 当我把它们放在一起时,它输出正确的DEC代码,但错误的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;
}

2 个答案:

答案 0 :(得分:1)

看起来你想要

Number = hex;

而不是

hex = Number;

请记住,作业从正确转到

答案 1 :(得分:0)

hex = Number;

您的“HEX to BIN”部分始终在0上运行。总是。也许你的意思是Number = hex;