JavaScriptを使用したバイナリ表現の1の数による並べ替え
問題
数値の配列を受け取るJavaScript関数を作成する必要があります。この関数は、それらの数値のバイナリ表現に存在する1の数の減少に従って数値を並べ替え、新しい配列を返す必要があります。
例
以下はコードです-
const arr = [5, 78, 11, 128, 124, 68, 6]; const countOnes = (str = '') => { let count = 0; for(let i = 0; i < str.length; i++){ const el = str[i]; if(el === '1'){ count++; }; }; return count; }; const sortByHighBit = (arr = []) => { arr.sort((a, b) => countOnes(b) - countOnes(a)); return arr; }; console.log(sortByHighBit(arr));
出力
[ 5, 78, 11, 128, 124, 68, 6 ]
-
JavaScriptを使用して、小数の隣接する2進ビットを交換して別の小数を生成する
問題 数値を取り込むJavaScript関数を作成する必要があります。 この関数は、数値に相当する2進数を反復処理し、隣接するビットを交換して新しい2進数を作成する必要があります。そして最後に、関数は新しいバイナリに相当する10進数を返す必要があります。 例 以下はコードです- const num = 13; const swapBits = (num) => { let arr = num.toString(2).split(''); if(arr.length % 2){  
-
JavaScriptを使用して10進値が偶数のバイナリ文字列を並べ替える
問題 長さ3のバイナリ文字列をすべてスペースで区切った文字列を取り込むJavaScript関数を作成する必要があります。 この関数は、数値を昇順で並べ替える必要がありますが、偶数を並べ替え、すべての奇数をそのまま残します。 例 以下はコードです- const str = '101 111 100 001 010'; const sortEvenIncreasing = (str = '') => { const sorter = (a, b) => { const findIn