Как осуществить циклический сдвиг?

163
05 декабря 2021, 07:40

Задано 4 байтовое число, с 10 по 4 биты сдвинуть влево на 3 разряда.

Answer 1

Считая младший бит с номером 0, примерно так (не компилировал, просто идея).

unsigned int shift4_10(unsigned int x)
{
    unsigned int b = x & 0x7F0;
    unsigned int r = ((b << 3)|(b>>4)) &0x7F0;
    return (x&~0x7F0)|r;
}

Тот случай, когда проще написать решение, чем объяснить словами, как решать... :(

READ ALSO
Перегрузка функций по имени параметра

Перегрузка функций по имени параметра

Такой вопрос, (я только учусь, так что не бейте) есть функция, которая удаляет элемент из массива:

99
16-тиричное считывание из файла C++

16-тиричное считывание из файла C++

Излазил вдоль и поперек форум(скорее всего чего-то не заметил)

80
Сравнение производительности QQuickItem и QQuickpaintedItem

Сравнение производительности QQuickItem и QQuickpaintedItem

не нашел четкого сравнения двух этих методов рисования виджетаОдин способ это рисовать все в paint()

91