How do you do *integer* exponentiation in C#?

前端 未结 11 1066
迷失自我
迷失自我 2020-11-30 08:26

The built-in Math.Pow() function in .NET raises a double base to a double exponent and returns a double result.

W

11条回答
  •  無奈伤痛
    2020-11-30 09:11

    Another way is:

    int Pow(int value, int pow) {
        var result = value;
        while (pow-- > 1)
            result *= value;
        return pow == 0 ? result : pow == -1 ? 1 : throw new ArgumentOutOfRangeException(nameof(pow));
    }
    

提交回复
热议问题