十进制使用 10 的幂作为位权,二进制则使用 2 的幂。从右往左,二进制各位的权重是 1、2、4、8,以此类推。
任务说明
根据进位制原理,将字符串表示的二进制数,例如 101010,转换为十进制。
给定二进制字符串,返回十进制结果,并处理无效输入。
注意
- 自行实现转换,不要调用现成转换功能。
关于二进制
十进制以 10 为基数。
十进制的 23 可以理解为 10 的各次幂的线性组合:
- 最右一位乘以
10^0 = 1。 - 下一位乘以
10^1 = 10。 - 依此类推。
- 从右数第 n 位乘以
10^(n-1)。 - 最后将这些值相加。
即:23 => 2*10^1 + 3*10^0 => 2*10 + 3*1 = 23。
二进制相同,只是把 10 的幂换成 2 的幂。
例如:101 => 1*2^2 + 0*2^1 + 1*2^0 => 4 + 0 + 1 => 5。