[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Составляется таблица результатов сравнений для каждого числа:
typedef unsignrd char BYTE
__flash BYTE table[]={...};
Так как сравниваются однобайтовые числа, то размер таблицы, есно, 256 байт.
Весь поиск сводится к одной операции:
result=table[dig];
где dig - входное число.
Если у вас таблица на 40-50 чисел, то размер кода с учетом таблицы вряд ли будет намного больше, чем даже при двоичном поиске (если вообще не меньше).
E-mail: info@telesys.ru