ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
845312 Топик полностью
SciFi (01.06.2018 15:54, просмотров: 372) ответил NickB на Как в PIC32 выполнить сдвиг на 1 бит поля данный из 32 32-разрядных слов?
Как везде: void shift_right(uint32_t x[32]) { int lsb_prev = 0; for (int i = 0; i < 32; i++) { int lsb = x[i] & 1; x[i] >>= 1; if (lsb_prev) { x[i] |= 1u << 31; } lsb_prev = lsb; } } Если хочется оптимально, то ассемблером через бит переноса, наверняка там есть такие инструкции.
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้