For example, how can I use the result of 1000^1000 for arithmetic? I don\'t think there\'s a library that can accommodate that, all I see at most is 100 number digits.
What you are looking for is a library like GMP or Boost-Multiprecision or TTmath.
Or, you might challenge yourself to write a low level representation that handles longer than standard bit representations, and do arithmetic with it.
Stick with the first option though, if it does the job you have in mind.
Use an arbitrary-precision arithmetic library like GMP or Boost.Multiprecision.