我們之前學習並製作過「十進位轉二進位」的小程序:如圖:


接下來我們製作「二進位轉十進位」的小程序。
樣例輸入:11011
樣例輸出:27
方法1,從前向後遍歷
新建變量:
二進位,用於存儲回答中輸入的二進位數字
長度,輸入二進位數字的長度(scratch相對簡單,不用區分變量的類型)
十進位,初始化為0,用於累加轉換好的數字和最後的輸出。
位值,初始化為0,用於存儲每一位上的值(十轉二)
第n位,初始化為1,用於遍歷二進位字符串。相當於for i in range中的i
二進位字符每一位上的值只要看這一位後面有幾位數字,那麼這位的值就是2的幾次方。scratch沒有「**」這種指數運算,所以後面有幾位我們就重複乘以幾次2。
如圖所示:

方法2,從後向前遍歷
這次我們跟上一種方法恰好相反,這一次是從後向前遍歷輸入的二進位字符,原理還是一樣的,當前位後面有幾位就循環乘以幾次2。
新建變量:
2-二進位,用於從回答中轉存二進位數字
2-十進位,初始化為0,用於累加和計算,還有輸出最後的結果。
2-位置,初始化為0,當前位置的後面字符個數
2-位值,每一位轉換為十進位的值

好了,以上就是我整個製作步驟了,應該還有其他的解題方法,如果過你有不一樣的製作方法,請在評論區留言分享給我,我們一同進步!我是 大於小澍,一個陪孩子玩的90程式設計師。感謝你的閱讀。