C++十进制转二进制,十六进制转十进制

来源:百度知道 编辑:UC知道 时间:2024/06/08 06:17:31
求C++十进制转二进制,和十六进制转十进制的代码..不要十六进制直接转二进制的...谢谢了啊..悬赏最后会补上的

#include <iostream>
using namespace std;
void decToBin(long x, char *a)
{
ltoa(x, a, 2);
}
void hexToDec(char *a, long &x)
{
x = strtol(a, (char**)NULL, 16);
}
int main()
{
long x;
char temp[255];
cout << "输入一个十进制数: ";
cin >> x;
decToBin(x, temp);
cout << "转换成二进制为: " << temp << endl;

cout << "输入一个十六进制数: ";
cin >> temp;
hexToDec(temp, x);
cout << "转换为十进制为: " << x << endl;
return 0;
}

用ltoa函数就可以了,ltoa函数把长整形数转换为字符串的函数
原型:char *ltoa(long value,char *string,int radix)
功能:把value的值转换为以NULL结束的字符串,并把结果存在string中。radix是转换的基数值,在2到36之间。分配给string的空间必须可容纳返回的所有字节(最多33字节)。

示例代码:
#include <iostream>
#include <stdlib.h>
using namespace std;
void DecToBin(long x, char* a)
{
ltoa(x, a, 2);