c# - 如果给定的 int 是 2 C# 的指数,则返回

标签 c#

给定一个接受 int 变量的 bool 数据类型的方法,单行 代码可以确定 int 是 2 还是 2^n 的指数... ..2,4,8,16,32 等。我知道一种使用 while 循环和 if 语句的方法,但我正在寻找它在一条线上。

最佳答案

来自 Bit Twiddling Hacks :

uint v;         // we want to see if v is a power of 2
bool f;         // the result goes here 

f = (v != 0) && ((v & (v - 1)) == 0);

关于c# - 如果给定的 int 是 2 C# 的指数,则返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3859405/

相关文章:

c# - 参数异常 : method arguments are incompatible

c# - 在 app.config 中使用 XML 包含或配置引用来包含其他配置文件的设置

c# 代码改进(数组、列表)

c# - 邮政编码和半径查找建议

c# - 如何在一个数据库连接中调用3个不同的存储过程?

c# - 如何合并2本词典

c# - 创建一个 "file Open"对话框按钮并写入文本框

c# - 当我使用 propertychanged 将字符串绑定(bind)到我的 XAML 时,为什么我没有得到任何文本? C# Xamarin

c# - ObservableCollection 教程?

c# - Entity Framework +MySQL类生成