In PHP if you go above INT_MAX it will cast it as a float, allowing very high numbers to be formed (that are non-decimal as well), is this possible to do in C++ or are the way they store floating point/double precision numbers different?
The reason why is I am wishing to benchmark large factorials, but something such as 80! is way too large for an unsigned integer..
The language will not make the switch for you, but has the datatypes
floatanddouble, which are usually 32 bit and 64 bit IEEE floats, respectively.A 64 bit double has enough range for 80!, but doesn’t have enough precision to represent it exactly. The language doesn’t have anything built in that can do that: you would need to use a big integer library, for example GMP.