c# - How am I getting a single bit from an int? -


मैं समझता हूं कि:

int bit = (संख्या >> 3) & amp; 1;

मुझे बाईं ओर से 3 स्थानों को छोड़ दें, तो कहें कि 8 1000 है, जो कि 0001 होगा।

मुझे जो समझ में नहीं आता है कैसे "& amp; 1" सब कुछ निकाल देगा लेकिन बस "1" के आउटपुट को प्रदर्शित करने के लिए पिछले बिट। मुझे पता है कि यह काम करता है, मुझे पता है कि एक इंट से कैसे थोड़ा सा मिलता है, लेकिन यह कैसे कोड एक बिट निकालने वाला है?

कोड ...

  int संख्या = 8; Int bit = (संख्या & gt; & gt; 3) & amp; 1; Console.WriteLine (बिट); जब तक कि विद्यालय से मेरे बूलियन बीजगणित मुझे विफल नहीं कर देते हैं, तब तक क्या हो रहा है, यह निम्नलिखित के बराबर होना चाहिए। :  
  * 1100110101101 / अंतिम बिट 1 & amp; 0000000000001 // & amp; 1 = 0000000000001 // = 1 * 1100110101100 / अंतिम बिट 0 है & amp; 0000000000001 // & amp; 1 = 0000000000000 // = 0  

इसलिए जब आप & amp; 1 , जो आप मूल रूप से कर रहे हैं वह आखिरी एक को छोड़कर अन्य सभी बिट्स को शून्य करना है जो कि जो कुछ भी था वह रह जाएगा। या अधिक तकनीकी तौर पर आप दो नंबरों के बीच एक बिटवायर और ऑपरेशन करते हैं, जहां उनमें से एक को 1 के साथ होता है, जिसमें सभी प्रमुख बिट्स को 0


Comments