ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1425783 Топик полностью
RxTx (12.04.2024 18:55, просмотров: 102) ответил Idler на Маленький вопросик: Есть uint16_t captures[4]. Как самым быстрым способом найти в нем второе сверху по величине значение. Сортировка, даже 4 значений, дольше, чем хотелось бы. Вроде бы можно сделать несколько сравнений с построением индекса (т.е, по результату первого сравнения +1, по второму +2, по третьему +4 и.т.д), потом таблично. Но вариантов размещения 4 чисел всего 24, а сравнение каждого с каждым дает индекс [0..63], то есть 6 сравнений избыточны...
Всего лишь найти? Самым быстрым способом разместить в регистрах-переменных, сравнивая регистры-переменные между собой. Закон малых чисел, прямые алгоритмы работают быстрее чем более сложные. 
Спасибо, князь. Вы настоящий дворянин. И программист.