C# 程式用於查詢給定整數二進位制表示形式中連續 1 的最長長度
為了獲取連續的 1,使用按位左移運算子。下面是我們的十進位制數。
i = (i & (i << 1));
迴圈上述程式碼,直到 I 的值為 0,並使用變數獲取長度;這裡的計數。
while (i != 0) {
i = (i & (i << 1));
count++;
}這裡,我們採取的示例是 150。
150 的二進位制為 10010110。因此,我們有兩個連續的 1。
示例
using System;
class Demo {
private static int findConsecutive(int i) {
int count = 0;
while (i != 0) {
i = (i & (i < 1));
count++;
}
return count;
}
// Driver code
public static void Main() {
// Binary or 150 is 10010110
Console.WriteLine(findConsecutive(150));
}
}輸出
2
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP