秦九韶算法在进制转换中的应用
秦九韶算法在进制转化中的应用
原理:
以二进制与十进制转化为例子:
\[(11101010)_2=(234)_{10}=0×2^0+1×2^1+0×2^2+1×2^3+0×2^4+1×2^5+1×2^6+1×2^7 \]\[f(x)=a_0+a_1x^1+a_2x^2+a_3x^3+a_4x^4+a_5x^5+a_6x^6+a_7x^7 \]\[f(x)=a_0+(a_1+(a_2+(a_3+(a_4+(a_5+(a_6+a_7x)x)x)x)x)x)x \]我们可以写出代码:
#include
using namespace std;
int main()
{
string a="11101010";
int len=a.size();
int sum=0;
for(int i=0;i
结论:
如果要将k进制的数a转化为十进制
#include
using namespace std;
int main()
{
string a;
cin>>a;
int k;//a的进制
int sum=0;
int len=a.size();
for(int i=0;i