Опрос define в цикле

Норм.
Седня цифры, завтра - плюсик понадобится, через неделю - решетка.
Для вывода на экран опять же проще работать со строкой.

А через год потребуется туда еще и буквы добавить.

1 лайк

тогда это уже не дефайны

Можно в BCD кодировать, по 2е цифры на байт
Но тупо строкой наверное удобнее и проще

int64 избыточен, в 5 байт можно уложить 11-значные номера

отож, подумаешь забыли CTS сигнал обрабатывать в стандартном драйвере

…или вот модем, SIM800 - они и принимают и выдают номера телефонов В СТРОКАХ. Заделаешь номера в виде чисел, переводи их потом туда-сюда.

Ну вообще неудачный пример. Это же не список чего либо с номерами.
Номера передают в сроках, т к в разных странах разный формат.

Сейчас нужно совпадение искать, а завтра например использовать номера как белый/черный списки для модема.

а сэкономленные байты продать на привозе.

Сравнение строк и длинных чисел занимает одно и тоже время. МК даже не по 16 сравнивает, а все равно побайтно в AVR. Никакой выгоды, кроме нечитаемого кода и жмени байтов в кулёчке на продажу.

1 лайк

я добавлю:
Есть “спортивное” программирование со странными задачами. Например уложить в N килобайт и написать то-то и то-то.
У меня, к примеру, есть решатель судоку, которому хватает 328 МК (Нано/Уно). Я не особо экономил память, но так… чутка. Это - хобби, никчемное время-убивание, просто для успокоения нервов писалось.
Но в НОРМАЛЬНОЙ жизни никто не пишет ради “уложиться в размер”, а пишут для решения задачи.
Какого чорта укладывать строку в BDC? Нахрен это нужно в 21 веке? Мало ресурсов у контрноллера? Правда?..

2 лайка

Всё так, считая в деньгах свое время в 99.9% случаев будет дешевле купить дороже контроллер и не маяться ерундой. При нынешних-то ценах на них. Какой-нибудь силовой полевик дороже будет, контроллеры сегодня вообще по цене мусора ИМХО.

Ну, так, маленечко, при условии, что строго соблюдены все рекомендации партии и правительства.