Martin Konecny - 8 months ago 83

C Question

I need help working with very big numbers. According to Windows calc, the exponent

`174^55 = 1.6990597648061509725749329578093e+123`

How would I store this using C (c99 standard)?

`int main(){`

long long int x = 174^55; //result is 153

printf("%lld\n", x);

}

Answer

Normal types in C can usually only store up to 64 bits, so you'll have to store big numbers in an array, for example, and write mathematical operations yourself. But you shouldn't reinvent the wheel here - you could try the GNU Multiple Precision Arithmetic Library for this purpose.

And as the comments already pointed out, the `^`

operation is binary XOR. For exponentiation, you will have to use mathematical functions like `pow`

.

Source (Stackoverflow)