读书人

程序的有关问题 菜鸟 多谢

发布时间: 2012-03-15 11:50:38 作者: rapoo

程序的问题 初学者 谢谢
//2进制转十进制
#include <iostream>
#include <cmath>
using namespace std;
void binToDec(int bonaryNumber,int&decimal,int &weight);
int main()
{
int decimalNum;
int bitWeight;
int binaryNum;

decimalNum=0;
bitWeight=0;
cout < < "Enter number in binary: ";
cin> > binaryNum;
cout < <endl;
binToDec(binaryNum,decimalNum,bitWeight);
cout < < "Binary " < <binaryNum < < "= " < <decimalNum
< < "decimal " < <endl;
return 0;
}

void binToDec(int binaryNumber,int &decimal,int&weight)
{
int bit;
if (binaryNumber> 0)
{
bit=binaryNumber%10;
decimal=decimal+bit*static_cast <int> (pow(2,weight));
binaryNumber=binaryNumber/10;
weight++;
binToDec(binaryNumber,decimal,weight);

}


}


[解决办法]
decimal=decimal+bit*static_cast <int> (pow((double)2,weight));

把2强制转换成double或者float都行

读书人网 >C++

热点推荐