Niech będzie, że w zmiennej tego typu mamy liczbę 123 zapisaną tak, że zajmuje 2048 bitów (dla uproszczenia).
Jeżeli dobrze rozumiem, to poza powyższym 123 masz jakieś 200 o (znowu uproszczenie) tym samym rozmiarze przechowywane w innej zmiennej identycznego typu.
Czyli próbujesz wykonać działanie 123 * 123 * … * 123 * 200 * 200 * … * 200, gdzie 123 występuje k razy, a 200 n razy i k oraz n to dowolne liczby naturalne. A przynajmniej tak mi się wydaje, że o to Ci chodzi.
Czyli na jakimś abstrakcyjnym przykładzie z podstawówki: 1 * 2 * 3 * 4 * 5 = 120, a Ty chcesz, aby wynikiem było - w zależności od żądanej liczby cyfr - albo 120 albo 20 albo 0?
Wracając do danych: 123 * 123 * … * 123 * 200 * 200 * … * 200 = abcdefg…xyz, gdzie a, b, c, … to kolejne cyfry. I oczekujesz, że wynikiem będzie albo z, albo yz, albo xyz, … albo abcdefg…xyz?