請把以字串表示的二進位數字(例如「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。