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進数に変換する完