незванный гость писал(а):
:evil:
Интересно... Вы формат вывода с экспонентой не рассматривали? И еще вопрос - я так понимаю, что размер буфера можно ограничить (ну хотя бы количеством цифр на дисплее). Это не так? Нужно действительно произвольый вариант. А последнее - а целочисленная библиотека доступна?
Скажем так - индикаторы бывают разные (от 8 знаков в строке до 40). Числа тоже надо выводить разные... Иногда - большие, с большим кол-вом знаков до десятичной точки - тогда приходится использовать экспоненциальный формат, иногда маленькие (скажем, когда отображается значение температуры - датчик выдает всего лишь в диапазоне от 0 до 200 градусов) - тогда используется обычный формат с десятичной точкой.
Да, размер буфера как раз ограничивается числом цифр, которое отводится на ЖКИ для вывода числа.
Насчет целочисленной библиотеки...
Функция преобразования целого в строку имеется (правда, писать ее тоже пришлось самостоятельно, но сейчас речь не о ней - можно считать, что она уже есть). В принципе, как в любом компиляторе C, там тоже доступно умножение, деление, сложение, вычитание как для целых чисел, так и для чисел с плав. точкой. Просто если для чисел с плав. точкой использовать эти операции, размеры программы сразу резко увеличиваются (подключается библиотека эмуляции операций с плав. точкой), поэтому я старался не выполнять никаких арифметических операций над числами с плав. точкой. Но дело даже не столько в этом... Раз уж прога выводит числа с плав. точкой на экран, значить где-то в ней хотя бы арифметические орерации над этими числами есть. Просто каждая такая операция отнимает кучу времени, поэтому стараешься их избегать...