JavaScriptを使用して、小数の隣接する2進ビットを交換して別の小数を生成する
問題
数値を取り込むJavaScript関数を作成する必要があります。
この関数は、数値に相当する2進数を反復処理し、隣接するビットを交換して新しい2進数を作成する必要があります。そして最後に、関数は新しいバイナリに相当する10進数を返す必要があります。
例
以下はコードです-
const num = 13;
const swapBits = (num) => {
let arr = num.toString(2).split('');
if(arr.length % 2){
arr.unshift(0);
}
for(let i = 0; i < arr.length - 1; i = i + 2) {
[arr[i], arr[i + 1]] = [arr[i + 1], arr[i]];
}
return +('0b' + arr.join(''));
}
console.log(swapBits(num)); 出力
14
-
JavaScriptを使用した配列内の山の最大長
山のサブシーケンス 次のプロパティが当てはまる場合、(arrの)サブアレイサブを山と呼びます- =3 sub [0]
-
C#を使用した2進数から10進数
2進数を10進数に変換するために、ここではwhileループを使用して、入力である2進数の余りを見つけました。その後、余りに基本値を掛けて加算します。 これは私が小数値を取得するために行ったことです- while (val > 0) { remainder = val % 10; myDecimal = myDecimal + remainder* baseVal; val = val / 10; baseVal = baseVal * 2; } 例 C#で2進数を10進数に変換する完