把一个用字符串表示的八进制数(例如 '1735263')转换成等值的十进制数,并且要从基本原理出发(也就是说,你不能用内置库或外部库来完成这次转换)。
实现八进制到十进制的转换。 给定一个八进制输入字符串,你的程序应该产生一个十进制输出。
十进制是基数为 10 的系统。
一个按 10 进制写出的数字 233 可以理解为 10 的各次幂的线性组合:
所以:
233 # decimal
= 2*10^2 + 3*10^1 + 3*10^0
= 2*100 + 3*10 + 3*1
八进制与之类似,只不过用的是 8 的各次幂,而不是 10 的各次幂。
所以:
233 # octal
= 2*8^2 + 3*8^1 + 3*8^0
= 2*64 + 3*8 + 3*1
= 128 + 24 + 3
= 155