For the example number you can use logarithms:
(mantissa = 10^FractionalPart@
N[(8^36*14) Log10[96717311574016] + Log10[5764801] + Log10[7^3],
{Infinity, 4001}]) // Precision
(* 4000.64 *)
digits = First@RealDigits[mantissa];
Length@digits
(* 4000 *)
If you want to be more certain, increase the accuracy goal, N[..., {Infinity, 4002}]
and compute
digits = First@RealDigits[mantissa, 10, 4000]
.
Of course, Log10[x]
does not work on an arbitrary number, only ones for which Log10[x]
can be represented a1 Log10[x1] + a2 Log10[x2] + ...
in Mathematica.
You could try SLI arithmetic. Someone made a stab at it: https://community.wolfram.com/groups/-/m/t/2030201
Not sure the status of that project.