0. Читаем про libc http://savannah.nongnu.org/projects/avr-libc/
1. Качаем код libc http://savannah.nongnu.org/projects/avr-libc/
2. Находим файл vfprintf.c ,выдержки из него:
if (flags & FL_FLTFIX) { /* 'f' format */
n = exp > 0 ? exp : 0; /* exponent of left digit */
do {
if (n == -1)
putc ('.', stream);
flags = (n <= exp && n > exp - ndigs)
? buf[exp - n + 1] : '0';
if (--n < -prec)
break;
putc (flags, stream);
} while (1);
if (n == exp
&& (buf[1] > '5'
|| (buf[1] == '5' && !(vtype & FTOA_CARRY))) )
{
flags = '1';
}
putc (flags, stream);
} |