給定一個由 1 和 0 組成的數組,將等效的二進位值轉換為整數。
例如:[0, 0, 0, 1] 被視為 0001,即 1 的二進位表示法。
例子:
Testing: [0, 0, 0, 1] ==> 1 Testing: [0, 0, 1, 0] ==> 2 Testing: [0, 1, 0, 1] ==> 5 Testing: [1, 0, 0, 1] ==> 9 Testing: [0, 0, 1, 0] ==> 2 Testing: [0, 1, 1, 0] ==> 6 Testing: [1, 1, 1, 1] ==> 15 Testing: [1, 0, 1, 1] ==> 11
然而,數組可以有不同的長度,而不僅限於 4。
依據題意可整理出以下重點:
const binaryArrayToNumber = (arr) => {
let newArr = arr.reverse();
let count = 0;
for (let i = 0; i < arr.length; i++) {
if (arr[i] === 1) {
count += 2 ** i;
}
}
return count;
};
使用 parseInt( ) 方法,寫法超精簡!
const binaryArrayToNumber = (arr) => {
return parseInt(arr.join(""), 2);
};
以下來介紹 parseInt( ) 語法:
parseInt(string, radix);
今天就介紹到這裡,如果大家有其他寫法歡迎一起來討論~