C++二进制和十进制相互转换的代码
如下的资料是关于C++二进制和十进制相互转换的内容。
#include <iostream>
#include <math.h>
using namespace std;
int bin2dec(string binVal)
{
int total = 0;
int i=0;
int length = binVal.length();
int isMinus= false;
if(binVal[0] == '-')
{
isMinus = true;
length--;
for(i=0; i<length;i++)
{
binVal[i] = binVal[i+1];
}
}
for (i=0; i < length; i++)
{
if (binVal[length - (i + 1)] != '0')
total = total + pow(2, i);
}
if(isMinus)
return total;
}
string dec2bin(int decVal)
{
string value = "";
bool isMinus = false;
if (decVal < 0)
{
isMinus = true;
}
while (decVal > 0)
{
if (decVal % 2)
value = '1' + value;
else
value = '0' + value;
decVal = decVal / 2;
}
if (isMinus)
value = '-' + value;
return value;
}