наверно для 2-х байтового числа
можно развернуть каждый байт и поменять их местами ?
для 3-х,4-х,.. байтного числа по аналогии ?
так и сказали уже
Код: Выделить всё
uint32_t rev_bits(uint32_t v) {
uint32_t r = 0;
for (int i = 0; i < 32; i++) {
r <<= 1;
r |= (v & 1);
v >>= 1;
}
return r;
}Код: Выделить всё
uint32_t rev_bits(uint32_t x) {
x = ((x >> 1) & 0x55555555) | ((x & 0x55555555) << 1);
x = ((x >> 2) & 0x33333333) | ((x & 0x33333333) << 2);
x = ((x >> 4) & 0x0F0F0F0F) | ((x & 0x0F0F0F0F) << 4);
x = ((x >> 8) & 0x00FF00FF) | ((x & 0x00FF00FF) << 8);
x = (x >> 16) | (x << 16);
return x;
}у меня ютуб не работает. можно как-то описать или где-то прочитать, как такой "разгон" делается.ARV писал(а):Ну, если для вас работа АЦП AVR на частоте семплирования, равной тактовой ядра, давно забытое старое
у меня ютуб не работает. можно как-то описать или где-то прочитать, как такой "разгон" делается.[/uquote]да не слушай этих критиканов, никакой разгон там не делается. Просто стробоскопический метод и неизвестно как реализованная синхронизация запуска АЦП в нужные моменты с точностью до такта ядра. Само АЦП при этом на штатной тактовой работает. В том и хитрость алгоритма!ARV писал(а):Ну, если для вас работа АЦП AVR на частоте семплирования, равной тактовой ядра, давно забытое старое