Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Четверг
28 ноября
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Микроконтроллеры
426291
Топик полностью
zeleny
(21.07.2013 23:25, просмотров: 74)
ответил
zeleny
на
Кто-нибудь реализовывал быстрый кв.корень для uint16_t (можно приблизительный) ? Может есть табличные методы (доступно до 400 байт Flash).
!как-то так (на основе микрочиповского аппнота):
uint8_t sqrt16(uint16_t n) { uint8_t guess = 0x00; uint8_t bit = 0x80; do { uint8_t guess1 = guess | bit; uint16_t guess2 = (uint16_t)guess1 * (uint16_t)guess1; if (n > guess2) guess = guess1; bit >>= 1; } while (bit); return guess; }
Ответить