strtoull преобразует строку во внутреннее 64-битное представление.
htobe64 при необходимости переключит порядок байтов в обратный порядок (тот, который вы использовали в вашем примере) на вашей платформе.
Вызатем можно скопировать 8 байтов из этой 64-битной переменной с прямым порядком байтов в ваш байтовый массив.
#include <stdint.h>
#include <endian.h>
#include <stdio.h>
#include <string.h>
char *digit="3224833640520308023";
main ()
{
uint64_t ull;
uint64_t beull;
uint8_t buff[8];
int i;
ull=strtoull(digit,0,10);
beull=htobe64(ull);
memcpy(buff,&beull,8);
for(i=0;i<8;i++)
{
printf("%02x\n",buff[i]);
}
}