std::rotl из : биты, ушедшие за старший край, появляются с младшей стороны.">
⊗cpSpBtRt 307 of 696 menu

Циклический сдвиг std::rotl в C++

Циклический сдвиг беззнакового целого влево делает std::rotl из <bit>: биты, ушедшие за старший край, появляются с младшей стороны.

Второй аргумент задает число позиций; лишние обороты нормализуют по ширине типа. Запишем восьмибитное значение, сдвинем на две позиции и выведем результат:

#include <bit> #include <cstdint> #include <iostream> std::uint8_t value = 0b10000001; std::uint8_t rotated = std::rotl(value, 2); std::cout << static_cast<unsigned>(rotated) << "\n";

Объявите std::uint8_t nib равным 3. Присвойте nib результат std::rotl на 1 позицию и выведите nib как unsigned.

Для std::uint16_t word со значением 1 выведите std::rotl на 4 позиции как беззнаковое целое.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить