Jus*_*ier 11
n * n 是最简单的方法.
对于支持取幂运算符的语言(**在本例中),您也可以这样做n ** 2
否则,您可以使用数学库来调用诸如此类的函数,pow(n, 2)但这对于简单地对数字进行平方来说可能是过度的.
n * n将几乎总是工作 - 它不会工作的几个案例是前缀语言(Lisp,Scheme和co.)或后缀语言(Forth,Factor,bc,dc); 但显然你可以写(* n n)或n n*分别.
当出现溢出情况时它也会失败:
#include <limits.h>
#include <stdio.h>
int main()
{
volatile int x = INT_MAX;
printf("INT_MAX squared: %d\n", x * x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我把volatile量词放在那里只是为了指出这可以编译-Wall而不引发任何警告,但在我的32位计算机上,这表示INT_MAX平方为1.
根据语言的不同,您可能有一个power函数,例如pow(n, 2)在C或math.pow(n, 2)Python中......由于这些power函数转换为浮点数,因此在可能出现溢出的情况下它们更有用.