c - 在 C 中存储和使用大数

标签 c exponentiation

我需要帮助处理非常大的数字。根据Windows计算,​​指数

174^55 = 1.6990597648061509725749329578093e+123 

我如何使用 C(c99 标准)存储它?

int main(){
  long long int x = 174^55; //result is 153
  printf("%lld\n", x);
}

最佳答案

C 中的普通类型通常最多只能存储 64 位,因此您必须在数组中存储大数字,并自己编写数学运算。但你不应该在这里重新发明轮子 - 你可以尝试 GNU Multiple Precision Arithmetic Library为此目的。

正如注释已经指出的那样,^ 运算是二进制异或。对于求幂,您必须使用 pow 等数学函数。

关于c - 在 C 中存储和使用大数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54255443/

相关文章:

c - 使用 Cups Api 检测打印机状态变化

java - 为什么我的程序本应运行时间较短,但运行时间却较长?

numbers - 数字1e5的含义是什么?

python - 如何在 Python 中将 -1/(-343)^(1/3) 计算为 1/7?

c - 在用 C 语言编程的 MCU 系统中如何进行调试

c - 为什么不输入数字会死循环?

python - 当 A、B、M 是大数时,如何计算 (A^B)%M?

JavaScript 求幂一元运算符设计决策

c - 在 for 语句中使用逗号?

c - 通过函数传递结构