我试图使用for
环路将数字提高到功率。然而,当我写这个并运行它时,它给了我一个随机数。
using System;
class Program {
static void Main(string[] args) {
var a = 5;
for(int i=0; i<5; i++){
a*=a;
}
Console.WriteLine(a);
}
}
为什么这不起作用?a
只复制一次,不能这样使用吗?
你可以自己乘,但你不能显示结果,因为你溢出整数(超过int32大小)(var在这种情况下默认是int32)。
你的结果:
25- 625
- 390625
- 超出范围(超出尺寸)。
你的问题的答案应该是:
var initialValue = 2;
var exponent = 4;
var power = initialValue;
for (int i = 0; i < exponent ; i++)
{
initialValue *= power;
}
或
var exponentiation = Math.Pow(2, 5);