If you just need the value as a string value for displaying on screen you could use a struct similar to Dustins’ code, but with a string return type. It would be trivial to add Size * “0” values to the end of the string. It should avoid overflow problems that way.
Im currently using a BigInteger I made using the .Net source code and editing it for myself but ive got to do a lot of calculations constantly.
I figured that using 2 smaller ints, in a well made class would cause a lot less stress on the system than constantly doing calculations with a class using a massive string of numbers.
Depends on what you’re doing. A well designed BigInteger class will general store the numbers as a byte array and do its calculations using bit shift operations for efficiency, but then you deal with allocations on the heap. My guess is that you’ll never be using numbers that are too big to fit in a long anyway.
I think you’re overthinking the performance issues. Unless you’re doing thousands of calculations per frame on these numbers, you’re not going to notice any difference.