加权法
-
定义权重base ,初始化结果result=0
-
result=result✖base +第一位的值
-
result=result✖base+第二位的值
-
result=result✖base+第三位的值,依次类推
最后返回结果result。
例如二进制数 1101
1、res = 0*2 + 左边第一位1 ,等于1
2、res=1 * 2 + 左边第二位1, 等于 3
3、res=3*2 +左边第三位0,等于6
4、res=6*2+ 最后一位1 ,等于 13
static int BASE=2; // 转多少进制这里就写多少
public static int getDecimal(String number) {
int res = 0;
for (char ch : number.toCharArray()) {
res = res * BASE + map.get(ch);
}
return res;
}