16+
Воскресенье
18 ноября
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры PIC

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
SciFi  (01.06.2018 15:54) , в ответ на Как в PIC32 выполнить сдвиг на 1 бит поля данный из 32 32-разрядных слов? автор: NickB
Как везде: 
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;
  }
}
Если хочется оптимально, то ассемблером через бит переноса, наверняка там есть такие инструкции.
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7527 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII