1
1と0のみを持つ2進数の配列を対応する数値に変換するにはどうすればよいですか?2進数の配列を対応する整数に変換する
var binArray = [1, 0, 1, 1] ;
output = 11;
のように私は私が何とかビット演算子>>
<<
を使用する必要が知っているが、私はありませんどのように行います。
1と0のみを持つ2進数の配列を対応する数値に変換するにはどうすればよいですか?2進数の配列を対応する整数に変換する
var binArray = [1, 0, 1, 1] ;
output = 11;
のように私は私が何とかビット演算子>>
<<
を使用する必要が知っているが、私はありませんどのように行います。
あなたはこのようにベースまたは基数の引数を伴って含むparseInt()
を使用することができます。
> var binArray = [1, 0, 1, 1]
> binArray.join('')
"1011"
> parseInt(binArray.join(''), 2)
11
> parseInt("101", 2)
5
あなたがArray#reduce
とleft shift operator<<
を使用することができます。
return
r a dec bin
------ ------ ------ ------
1 0 2 10
2 1 5 101
5 1 11 1011
var binArray = [1, 0, 1, 1],
output = binArray.reduce(function (r, a) {
return (r << 1) | a;
});
console.log(output);
ES6
var binArray = [1, 0, 1, 1],
output = binArray.reduce((r, a) => (r << 1) | a);
console.log(output);
FWIW、あなたが初期値として '0'渡す必要はありません、あなたはそれを省略することができます。 –
ありがとう、何を意味するのか説明できますか(r << 1)| a? –
これは 'r 'の値を1ビット左にシフトします。つまり、値は2を乗算した後、ビットごとにまたは' a'で実行します。 –