Задать вопрос
@podhou420
Студент

Как определить больше нулей или единиц в двоичном числе?

Есть двоичное число 1101, как определить чего в нём больше, нулей или единиц
  • Вопрос задан
  • 354 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
function countBinaryDigits(number) {
  const count = [ 0, 0 ];

  do {
    count[number & 1]++;
  } while (number >>= 1);

  return count;
}

// или

const countBinaryDigits = number => Array
  .from(number.toString(2))
  .reduce((acc, n) => (acc[n]++, acc), [ 0, 0 ]);

const numbers = [ 0, 1, 15, 0b1010010111010 ];

console.table(numbers.map(function(num) {
  return [ num ]
    .concat(countBinaryDigits(num))
    .reduce((acc, n, i) => (acc[this[i]] = n, acc), {});
}, [ 'число', 'нули', 'единицы' ]));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы