|
发表于 2021-10-29 15:24:31
|
显示全部楼层
本楼为最佳答案
用其他库函数,例如 gnu 的 mpfr 库
- The Multiple Precision Floating-Point Reliable Library
复制代码
google 翻译
官方文档: https://www.mpfr.org/mpfr-4.0.1/mpfr.pdf
下面计算 10^1000000
^_^
- #include <stdio.h>
- #include <mpfr.h>
- int main(void) {
- mpfr_t a, b, c;
- mpfr_inits2(10000000, a, b, c, NULL);
- mpfr_set_str(a, "10", 10, MPFR_RNDD);
- mpfr_set_str(b, "1000000", 10, MPFR_RNDD);
- mpfr_pow(c, a, b, MPFR_RNDD);
- mpfr_printf("%.0Rf\n", c);
- mpfr_clears(a, b, c, NULL);
- mpfr_free_cache();
- return 0;
- }
复制代码
- gcc -g -Wall -o main main.c $(pkg-config --cflags --libs mpfr)
复制代码 |
|