我相信这并不像我想象的那么困难。
希望使用等效于Math.Pow(double, double)
但输出整数的内容。我担心浮点的舍入错误。
我能想出的最好的办法是:
uint myPower = 12;
uint myPowerOfTwo = (uint)Math.Pow(2.0, (double)myPower);
我想到了这个:
uint myPowerOfTwo = 1 << myPower; // doesn't work
但我得到的错误是运算符“<有什么建议吗?一如既往地谢谢你。
最佳答案
移位运算符的第二个操作数(右侧)必须使用有符号整数:
int myPower = 12;
int myPowerOfTwo = 1 << myPower;
当然,您可以将结果转换为另一个数字类型,如UTEN:
uint myPowerOfTwo = (uint) (1 << myPower);
从AA>
左移位运算符(<它的第一个操作数
由其第二个指定的位
操作数。第二个操作数的类型必须是int。
关于c# - 在C#中计算2的整数次幂的简单方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5507103/