-2
var y= '110001'.split("").reverse();
var sum = 0;
for (var i = 0; i < y.length; i++) {
sum += (y[i] * Math.pow(2, i));
}
console.log(sum);
var y= '110001'.split("").reverse();
var sum = 0;
for (var i = 0; i < y.length; i++) {
sum += (y[i] * Math.pow(2, i));
}
console.log(sum);
檢查這個片段
var binary = '110001'.split("").reverse();
var sum = binary.reduce(function(previous, current, index) {
previous = previous + (current * Math.pow(2, index));
return previous;
}, 0);
console.log(sum);
希望它可以幫助
這將是最簡單的做
console.log(Array.from('110001').reduce((prev, cur) => prev << 1 | cur));
<<
是左位位移運算符,這裏基本上是乘以2。
Array.from
(如果可用)最好split
。在這種情況下,它並不重要,但split
將失敗,並代理對字符,如,而Array.from
正確處理它們。這也可以寫成[...'110001']
,其最終被同樣的事情。
當然,你也可以只說
parseInt('110001', 2)