ИУП: интенсив 7 дней + диагностический пакет (32 вопроса, 9 задач с автопроверкой)

This commit is contained in:
Kodlo-chan
2026-09-23 16:05:09 +07:00
commit 4cd63b3d4d
40 changed files with 2464 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
# Задача 01 — битовые операции (C)
Реализуй в `solution.cpp` четыре функции. Запрещено пользоваться встроенными
`__builtin_popcount`, `std::popcount`, `std::byteswap` — считается любая корректная
ручная реализация.
```c
int popcount32(uint32_t x); // число единичных бит
uint32_t reverse_bits32(uint32_t x); // развернуть порядок всех 32 бит
bool is_power_of_two(uint32_t x); // x — степень двойки (0 не считается)
uint32_t bswap32(uint32_t x); // поменять порядок байт местами
```
Проверка: `python3 grade.py 01` из каталога `diag/`.
Критерий: все проверки `ok`, сборка без предупреждений, ASAN/UBSAN чистые.
Подсказки по разбору после сдачи: `x & (x - 1)`; реверс — классический цикл на 32 итерации
или пара «маска+сдвиг»; `bswap` — четыре маски.