लगातार 1 लाने के लिए, बिटवाइज़ लेफ्ट शिफ्ट ऑपरेटर का उपयोग करें। यह रही हमारी दशमलव संख्या।
i = (i & (i << 1));
ऊपर लूप करें जब तक कि I का मान 0 न हो और एक चर का उपयोग करके लंबाई प्राप्त करें; यहां गिनें।
while (i != 0) { i = (i & (i << 1)); count++; }
हमने यहां जो उदाहरण लिया है वह 150 है।
150 के लिए बाइनरी 10010110 है। इसलिए, हमारे पास लगातार दो हैं।
उदाहरण
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