А>Думаю многие знают, но лень
Вот тебе примерчег:
Спасибо, вот еще вариант:
char str[] = "12345678901234567890"; // строка на входе
unsigned char uc[8]; // массив на выходе
unsigned long l = 0;
unsigned long m = 0;
unsigned long h = 0;
unsigned char carry;
for( char *c = str; *c; c++ )
{
l += *c - '0';
if( *(c + 1) )
{
l *= 10;
carry = (unsigned char)((l & 0xFF000000) >> 24);
l &= 0x00FFFFFF;
m *= 10;
m += carry;
carry = (unsigned char)((m & 0xFF000000) >> 24);
m &= 0x00FFFFFF;
h *= 10;
h += carry;
}
}
uc[7] = (unsigned char)l; l >>= 8;
uc[6] = (unsigned char)l; l >>= 8;
uc[5] = (unsigned char)l;
uc[4] = (unsigned char)m; m >>= 8;
uc[3] = (unsigned char)m; m >>= 8;
uc[2] = (unsigned char)m;
uc[1] = (unsigned char)h; h >>= 8;
uc[0] = (unsigned char)h;