is there any variable larger than unsigned long long int in C++
There are no standard integer types larger than unsigned long long
. Floating point types have a larger range, but they lack precision in the range of high absolute values.
It is possible to make calculations with arbitrarily larger numbers by representing them with arrays where each elements is a "digit" of radix equal to the number of representable values of the element. Operations on such representation are called "arbitrary precision arithmetic". As for multiplication of arbitrary precision numbers, that is a well researched area. There are published algorithms such as the Schönhage–Strassen and Toom–Cook.
Such operations are not included in the standard library, but several open source implementations exist.