Цитата(Метценгерштейн @ Feb 9 2015, 11:44)

Думаете, номер массива вылезет за 0xFF ? Нет, конечно.
Не думаю, а вижу по Вашему коду. Пусть data = 10, i=0. Нулевой элемент массива = 20. Первое условие 10==20 не выполняется. Второе условие 10<20 - выполняется. Возвращаем "i-1", что равно "0-1", что равно 0xFF.
Поэтому логично было бы иметь не два условия, а одно, if (data <= table[i]) return i;