我在查找OCaml中典型指数函数的更快版本时遇到了问题。这里有一些指引,我试图遵循: 不是的expt b n ==> b * (b * (b ...)典型的递归指数版本的函数接收两个参数B和N,基本上采取分而治之的立场。 如果n为偶数,则fastexpt b n => (b^(n/2))^2否则,如果n是奇数则fastexpt b n => b * (b^(n - 1)) 下面是我迄今编写的代码:
我想反转长双的指数。 假设x = 3.5e1356。我想x是3.5e-1356。 我有这样的代码: long double x = 3.5e1356L;
int exponent;
long double fraction = frexpl(x, &exponent);
// recreate number with an inverted exponent
long double ne