把以字符串形式表示的二进制数(如 '101010')转换为等值的十进制数,并且要从基本原理出发完成转换。
实现二进制到十进制的转换。给定一个二进制输入字符串,你的程序应输出对应的十进制结果。程序还要能处理无效输入。
十进制是以 10 为基数的系统。
以 10 为基数书写的数字 23,可以理解为 10 的各次幂的线性组合:
所以:23 => 2*10^1 + 3*10^0 => 2*10 + 3*1 = 23 base 10
二进制与此类似,只不过用的是 2 的各次幂,而不是 10 的各次幂。
所以:101 => 1*2^2 + 0*2^1 + 1*2^0 => 1*4 + 0*2 + 1*1 => 4 + 1 => 5 base 10。