AlexandrY (23.03.2008 14:38, просмотров: 139) ответил Ксения на Жуткая реализация алгоритма последовательного вычитания "круглых" чисел.
Я бы еще отметил жуткую нотацию ;-). А что вы скажете на это..
// ==========================================================
// Перевод беззнакового целого числа (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