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