Como converter um número inteiro de 128 bits em uma string ASCII decimal em

Estou tentando converter um número inteiro não assinado de 128 bits armazenado como uma matriz de 4 entradas não assinadas na representação de seqüência decimal em C:

unsigned int src[] = { 0x12345678, 0x90abcdef, 0xfedcba90, 0x8765421 };
printf("%s", some_func(src)); // gives "53072739890371098123344"

(Os exemplos de entrada e saída acima são completamente fictícios; não tenho idéia do que essa entrada produziria.)

Se eu fosse hexagonal, binário ou octal, isso seria uma simples questão de máscaras e mudanças de bits para descascar os caracteres menos significativos. No entanto, parece-me que preciso fazer a divisão da base 10. Infelizmente, não consigo me lembrar de como fazer isso em várias entradas, e o sistema que estou usando não suporta tipos de dados maiores que 32 bits, portanto, não é possível usar um tipo de 128 bits. Também está em uso um idioma diferente, e prefiro evitar uma grande biblioteca de números apenas para esta operaçã

questionAnswers(7)

yourAnswerToTheQuestion