文章目录
(1)其他进制转换为十进制
原理
P进制x上的每一个位对十进制而言表达的含义都不同
从右到左,各表示个位,P位,P2位,…,Pn位
例如:
十进制123
3表个位,2表十位,1表百位
八进制123
3表个位,2表8位,1表64位
二进制101
1表个位,0表2位,1表4位(从右到左)
所以
P进制x=d1d2…dn
换个形式x = d1*Pn-1 + d2*Pn-2 +…+ dn-1*P + dn
在使用十进制的乘法和加法后,x就转换成十进制数了
代码
1.用十进制数储存r进制数x
只能从右往左操作位数
int rToTen(int n,int r){
//将r进制转为10进制,n是该r进制的十进制int表示
int ans=0;//存放结果
product=1;//存放位数的十进制含义,一开始表示1
while(n){
//n=0时退出循环
ans