ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
5 сентября
116509 Топик полностью
AlexandrY (23.03.2008 14:38, просмотров: 133) ответил Ксения на Жуткая реализация алгоритма последовательного вычитания "круглых" чисел.
Я бы еще отметил жуткую нотацию ;-). А что вы скажете на это..  // ========================================================== // Перевод беззнакового целого числа (unsigned long) в строку // buf - указатель на буфер приемник строки // ln - максимальная длина строки, если 0, то полная длина // ul - преобразуемое число // base - база исчисления: 10 - десятичная, 16 - шестнадцатеричная, 2 - двоичная и т.д. // Возвращает количество символов в строке // ========================================================== int Num_to_str(unsigned char *buf,int ln,unsigned long ul,unsigned char base) { int i,n; // Счетчик позиции в буфере unsigned char b; unsigned char rem; n=0; for (;;) { rem=ul % base; ul=ul / base; *(buf+n)=hex_to_ascii(rem); n++; if (ln!=0) { if (n>=ln) break; } else { if (ul==0) break; } } // ========================================================== // Преобразование байта в ASCII // ========================================================== unsigned char hex_to_ascii(unsigned char c) { c = c & 0xf; if (c <= 9) return (c + 0x30); return (c + 'A' - 10); }
INDEMSYS