Если приближение в порядке, вы можете использовать числа с плавающей точкой (float
или double
). И вам нужно pow
, а не ^
, как сказали комментаторы.
Однако для криптографии приближение не работает. Вам нужна поддержка арифметики с очень большими целыми числами. GMP обеспечивает общую арифметическую поддержку с множественной точностью. Многие криптографические пакеты также будут иметь такие алгоритмы в своем коде, либо через стороннюю библиотеку, либо встроенную; В PuTTY есть библиотека bignum для больших целых чисел, и, вероятно, в OpenSSL есть нечто подобное.
Недостаточно базовых типов данных C.