Avatar ·

C# में यह कैसे जाँचें कि कोई संख्या दो की घात है या नहीं?

सभी को नमस्कार! मैं C# में नौसिखिया हूँ और मुझे एक कार्य का सामना करना पड़ा: एक method लिखना है जो जाँचता है कि कोई पूर्णांक संख्या दो की घात है या नहीं (1, 2, 4, 8, 16, 32 आदि)। ऐसा लगता है कि कार्य सरल है, लेकिन मैं कोई सुंदर समाधान नहीं सोच पा रहा हूँ। अभी मैंने यह कोड लिखा है: ```csharp public static bool IsPowerOfTwo(int n) { if (n <= 0) return false; while (n > 1) { if (n % 2 != 0) return false; n = n / 2; } return true; } ``` यह काम करता है, लेकिन मुझे लगता है कि यह बहुत भारी और अकुशल है। मैंने सुना है कि bitwise operations के साथ कोई चालाक तरीका है, लेकिन मुझे समझ नहीं आता कि यह कैसे काम करता है। क्या आप कोई अधिक सही और तेज़ समाधान सुझा सकते हैं? विशेष रूप से मेरी रुचि है: 1. बिना loops के जाँच कैसे करें? 2. Bitwise operations क्या हैं और कैसे