相关疑难解决方法(0)

我如何自己编写电源功能?

我一直想知道如何制作一个自己计算功率(例如2 3)的功能.在大多数语言中,这些都包含在标准库中,主要是作为pow(double x, double y),但我怎么能自己编写呢?

我在考虑for loops,但它认为我的大脑进入了一个循环(当我想用非整数指数做一个力量,比如5 4.5或负2-2)并且我疯了;)

那么,我该如何编写一个计算实数幂的函数呢?谢谢


哦,也许重要的是要注意:我不能使用功能(例如exp)的功能,这将使这最终无用.

c++ math floating-point

49
推荐指数
6
解决办法
5万
查看次数

在C/C++中快速实现/逼近pow()函数

我正在寻找更快的实现或良好的近似功能提供cmath.

我需要加快以下功能

  1. pow(x,y)
  2. exp(z*pow(x,y))

哪里z<0. x来自(-1.0,1.0)并且来自(0.0,5.0 y)

c c++ math gcc numeric

9
推荐指数
1
解决办法
2万
查看次数

负指数平方的幂

我不确定平方的幂是否可以处理负指数。我实现了以下仅适用于正数的代码。

    #include <stdio.h>
    int powe(int x, int exp)
    {
         if (x == 0)
            return 1;
         if (x == 1)
            return x;
         if (x&1)
                return powe(x*x, exp/2);
         else
                return x*powe(x*x, (exp-1)/2);       
    }
Run Code Online (Sandbox Code Playgroud)

查看https://en.wikipedia.org/wiki/Exponentiation_by_squaring没有帮助,因为以下代码似乎是错误的。

    Function exp-by-squaring(x, n ) 
      if n < 0  then return exp-by-squaring(1 / x, - n );
      else if n = 0  then return  1;
      else if n = 1  then return  x ; 
      else if n is even  then return exp-by-squaring(x * x,  n / 2); …
Run Code Online (Sandbox Code Playgroud)

c algorithm math recursion

4
推荐指数
1
解决办法
3766
查看次数

标签 统计

math ×3

c ×2

c++ ×2

algorithm ×1

floating-point ×1

gcc ×1

numeric ×1

recursion ×1