вот тут неплохо разжованы разные алгоритмы преобразования: http://we.easyelectronics.ru/Soft/preobraz...lye-chisla.html
для себя вывел самый оптимальный - преобразование в BCD, вывод - справа-налево (начиная с младшей тетрады), для каждой цифры - сдвиг вправо на 4 бита.
гашение лидирующих нолей получается проще пареной репы - как только число стало равно нулю, пишу в буфер пробелы.
понятно, нужно проверять на начальную равность 0, и показать хотя бы один ноль.
установка точки тоже просто - проверяется, равна ли текущая позиция позиции точки, если равна - ставлю, и двигаюсь к следующему разряду.