关于二进制转化为十进制的问题
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n; //二进制数
int count; //用来存储数字个数
cin >> count ;
cin >> n;
int * p = new int[count]; //定义一个数组存储每一个数字
for(int i = count -1;i>=0;i--) /*循环的目的是把数字存入数组中*/
{
p[count - i - 1] = n /pow(10.0,i);
n = n - p[count - i - 1] * pow(10.0,i);
}
int S = 0;
for(int i = 0;i<count ;i++) //这个循环负责转换二进制,公式我就不写啦
{
S = S + p[i]*pow(2.0,count - i - 1) ;
}
cout << S << endl;
return 0;
}
这个代码我测试这没问题,随便试了几个二进制数字也是可以转化的,但是在一个编程网站上显示10组数据中通过了8组,请问这是为什么??希望有大佬可以指点一下。