![](/img/trans.png)
[英]How to divide a very large number(10^100), when number is stored as single digits in array
[英]How to divide large number by other large number
我想除以例如:10^30/10^20。 我想用 C 编写一个程序。我不知道该怎么做。 我所知道的是我必须划分字符数组。 非常感谢您的帮助!
如果您的数字和结果在DBL_MAX
和DBL_MIN
值指定的精度范围内,则可以使用double
。
您或许可以编译并运行如下所示的程序来确定系统上的这些值:
#include <stdio.h>
#include <float.h>
int main () {
printf("The maximum value of double = %.10e\n", DBL_MAX);
printf("The minimum value of double = %.10e\n", DBL_MIN);
printf("The number of digits in the number = %d\n", DBL_MANT_DIG);
}
如果您的计算和结果需要更高的精度,请查看 GMP 或其他大量库。
如果您想知道如何读取这些数字,可以查看 Stack Overflow 上以前的答案,这些答案建议通过scanf
输入读入double
或long double
,例如: https : //stackoverflow.com/a/24343083/19410
将这些数字转换为double
或其他类型后,就可以进行计算了。
在进行计算时,请始终牢记上溢或下溢情况。 DBL_MAX
和DBL_MIN
(或您选择的任何类型)的边界通常会限制您可以使用该类型的值进行计算的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.