进制的本质
对于一个十进制数字,比如说153,其本质是每个数字乘上这一位上的权重,即:
而二进制,只不过是把10换成了2,任意一个非负整数都有唯一的一个二进制表示
将任意进制转换为十进制
假设给一个数组来表示一个k进制(假设k>10)的整数,将它转化成十进制通解如下:
long long x = 0;
for(int i = 1;i <= n; i++)
{
x = x * k + a[i];
}
cout << x <<'\n';
一般来说,这个k进制的数组可以通过对输入字符串的处理得到。
将十进制转换为任意进制
假设有一个十进制数x,如何转换为k进制呢?
我们可以先假设一个x的k进制表达式,再逐步地求解。