相关疑难解决方法(0)

实现基于整数的幂函数pow(int,int)的最有效方法

将整数提升到C中另一个整数的幂的最有效方法是什么?

// 2^3
pow(2,3) == 8

// 5^5
pow(5,5) == 3125
Run Code Online (Sandbox Code Playgroud)

c algorithm math exponentiation

239
推荐指数
8
解决办法
19万
查看次数

C#中是否有指数运算符?

例如,是否存在操作员来处理此问题?

float Result, Number1, Number2;

Number1 = 2;
Number2 = 2;

Result = Number1 (operator) Number2;
Run Code Online (Sandbox Code Playgroud)

在过去,^运算符已经成为其他语言的指数运算符,但在C#中它是一个逐位运算符.

我是否必须编写循环或包含另一个命名空间来处理指数操作?如果是这样,我如何使用非整数处理指数运算?

c# operators exponent

184
推荐指数
5
解决办法
19万
查看次数

如何计算C#的功率?

我对数学并不是那么好,而且C#似乎没有提供强大的功能,所以我想知道是否有人知道如何运行这样的计算:

var dimensions = ((100*100) / (100.00^3.00));
Run Code Online (Sandbox Code Playgroud)

c# math

48
推荐指数
5
解决办法
9万
查看次数

Math.Pow取整数值

来自http://msdn.microsoft.com/en-us/library/system.math.pow.aspx

int value = 2;
for (int power = 0; power <= 32; power++)
    Console.WriteLine("{0}^{1} = {2:N0}",
                      value, power, (long) Math.Pow(value, power));
Run Code Online (Sandbox Code Playgroud)

Math.Pow将双精度作为参数,但在这里我们传递的是int.

问题:如果隐式转换为双重发生,是否存在浮点舍入错误的危险?

如果是,最好使用以下内容:

public static int IntPow(int x, uint pow)
{
    int ret = 1;
    while (pow != 0)
    {
        if ((pow & 1) == 1)
            ret *= x;
        x *= x;
        pow >>= 1;
    }
    return ret;
}
Run Code Online (Sandbox Code Playgroud)

c# floating-accuracy pow

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

为什么平方根这么慢?

我被许多程序员警告不要使用平方根功能,而是将数字提升到半功率.我的问题是双重的:

  1. 这样做的感知/真实表现有什么好处?为什么它更快?

  2. 如果它真的更快,为什么平方根函数甚至存在?

c# vb.net math square-root operator-keyword

7
推荐指数
2
解决办法
5000
查看次数