Home [C# 筆記] 現有一個整數 number,請寫一個方法來判斷這個整數是否是 2 的 N 次方
Post
Cancel

[C# 筆記] 現有一個整數 number,請寫一個方法來判斷這個整數是否是 2 的 N 次方

% (Mod) 運算

Mod運算: 用number%2==0

1
2
3
4
if (number % 2 == 0)
{
    //是 2 的 N 次方
}

位元運算

可以透過位元運算來判斷一個整數是否是2的N次方。如果一個整數是2的N次方,那麼它的二進位表示中只有一個1,例如,2、4、8、16等。

1
2
3
4
5
6
7
8
public class Solution
{
  public bool IsPowerOfTwo(int number)
  {
      // 判断是否为正数且只有一个1
      return number > 0 && (number & (number - 1)) == 0;
  }
}

C# .NET面试系列一:基础语法

This post is licensed under CC BY 4.0 by the author.

[C# 筆記] const 和 readonly 有什麼不同?

[C# 筆記] CTS、CLS、CLR 分別作何解釋?