使用C#将科学记数法字符串(如"1.234567E-06")转换为浮点变量的正确方法是什么?
我正在研究实现基于整数的幂函数pow(int,int)的最有效方法.
这是他们得到的答案.
我试图让它适用于C#,但我正在将int与bool和所有其他东西进行比较...而且我无法弄清楚他们为什么要比较而且1这不是那个意思和真实吗?有什么意义呢.它看起来效率不高.
int ipow(int base, int exp)
{
int result = 1;
while (exp)
{
if (exp & 1)
result *= base;
exp >>= 1;
base *= base;
}
return result;
Run Code Online (Sandbox Code Playgroud)
}
我在比较中做exp ==但是1仍然在那里,我不知道我是否需要它.
有人知道"if(exp&1)"中的1是什么吗?或者如果我需要它?我看不出用途.