Обычно
integer → string делают циклом:/ 10 → берём цифру % 10 → остаток и повторяем снова.
SQLite идёт хитрее.
В исходниках есть строка на 200 символов, содержащая все пары от
00 до 99:000102030405...979899При преобразовании числа SQLite обрабатывает его по две цифры за раз и просто берёт нужную пару символов по индексу.
То есть вместо множества операций
/10 и %10:делим на 100 → получаем две цифры → копируем готовую пару.
Маленькая оптимизация, но именно из таких деталей и состоит быстрый системный код.
Исходник:
sqlite/src/util.c
