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

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

Есть двоичное число 1101, как определить чего в нём больше, нулей или единиц
  • Вопрос задан
  • 354 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 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), {});
}, [ 'число', 'нули', 'единицы' ]));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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