Контест Junior Типы и неопределённое поведение обновлено

Порядок байтов: перевернуть uint32 и посчитать единицы

Условие

По сети пришли 32-битные беззнаковые числа в порядке байтов big-endian, а прочитали их как little-endian. Для каждого числа выведите значение с обратным порядком байтов и число единичных битов в нём.

Ввод: в первой строке q (1 ≤ q ≤ 2000), далее q чисел (0 ≤ x < 2³²), по одному в строке.

Вывод: для каждого числа строка из двух значений: перевёрнутое число и количество единичных битов.

Пример 1

Ввод:

3
1
305419896
4294967295

Вывод:

16777216 1
2018915346 13
4294967295 32

Пример 2

Ввод:

2
0
256

Вывод:

0 0
65536 1

Как подойти

Подсказки: 1
  1. Посмотрите на заголовок <bit>: там есть подсчёт единичных битов.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.