दिलचस्प पोस्ट
ASP.NET MVC – प्रश्न प्राप्त करना स्ट्रिंग मान चेतावनी: mysql_num_rows () पैरामीटर 1 संसाधन होने की उम्मीद है, कास्टिंग शून्य ** से 2 डी सरणी की Int- सी ईएफ संहिता में दशमलव परिशुद्धता और पैमाने पहले "Java.security.cert.CertificateException: कोई विषय वैकल्पिक नाम मौजूद नहीं" त्रुटि कैसे ठीक करें? कम में चर नामों की सरणी के माध्यम से लूप एएनटीएलआर में 'सिमेंटिक स्पिटकेंट' क्या है? Wget के जरिए लिनक्स पर जावा जेडीके को डाउनलोड करना इसके बजाय लाइसेंस पृष्ठ दिखाया गया है ऑप्टिकल प्रवाह का उपयोग करके ओपनसीवी ट्रैकिंग जीआरपी इतनी तेजी से कैसे चला जाता है? गिट, घातक: रिमोट एंड ने अनपेक्षित रूप से लटका दिया FindViewById () लेआउट XML में कस्टम घटक के लिए शून्य प्रदान करता है, अन्य घटकों के लिए नहीं जावास्क्रिप्ट में असाइनमेंट को नष्ट करना एंड्रॉइड: टॉगल बटन के उपयोग के लिए एक्सएमएल का दो अलग-अलग चित्र निर्दिष्ट करें तत्वों के नामों की सूची को मिलाएं / मर्ज करें

एनएटी में एक बिट सरणी में int को परिवर्तित करें

मैं एक बिट को सरणी में कैसे परिवर्तित कर सकता / सकती हूं?

यदि मैं उदाहरण 3 के साथ एक पूर्णांक चाहता हूँ, तो मुझे एक सरणी चाहिए, जिसकी लंबाई 8 है और ऐसा लगता है:

0 0 0 0 0 0 1 1 

इनमें से प्रत्येक नंबर सरणी में एक अलग स्लॉट में है, जिसका आकार 8 है

वेब के समाधान से एकत्रित समाधान "एनएटी में एक बिट सरणी में int को परिवर्तित करें"

Int 'x' को बदलने के लिए

 int x = 3; 

एक तरफ, इंट पर हेरफेर द्वारा:

 string s = Convert.ToString(x, 2); //Convert to binary in a string int[] bits= s.PadLeft(8, '0') // Add 0's from left .Select(c => int.Parse(c.ToString())) // convert each char to int .ToArray(); // Convert IEnumerable from select to Array 

वैकल्पिक रूप से, बिटअरे कक्षा-

 BitArray b = new BitArray(new byte[] { x }); int[] bits = b.Cast<bool>().Select(bit => bit ? 1 : 0).ToArray(); 

BitArray कक्षा का उपयोग करें

 int value = 3; BitArray b = new BitArray(new int[] { value }); 

यदि आप बिट्स के लिए एक सरणी प्राप्त करना चाहते हैं, तो आप BitArray.CopyTo विधि का उपयोग कर एक bool[] सरणी के साथ कर सकते हैं।

 bool[] bits = new bool[b.Count]; b.CopyTo(bits, 0); 

ध्यान दें कि बिट्स को कम से कम महत्वपूर्ण से महत्वपूर्ण तक संग्रहित किया जाएगा, ताकि आप Array.Reverse का उपयोग करना Array.Reverse

और अंत में, अगर आपको बुलियन के बजाए प्रत्येक बिट के लिए 0 एस और 1 एस प्राप्त करना है (मैं प्रत्येक बिट को स्टोर करने के लिए एक byte का उपयोग कर रहा हूं; कम से कम एक int से कम):

 byte[] bitValues = bits.Select(bit => (byte)(bit ? 1 : 0)).ToArray(); 

Convert.ToString (value, 2) प्रयोग करें। Convert.ToString (value, 2)

तो आपके मामले में

string binValue = Convert.ToString (3, 2);

मैं बस एक उदाहरण में गया जहां …

 int val = 2097152; var arr = Convert.ToString(val, 2).ToArray(); var myVal = arr[21]; 

… मैंने उन परिणामों का उत्पादन नहीं किया जो मैं देख रहा था। ऊपर 'myVal' में, स्थिति 21 में सरणी में संग्रहित मूल्य '0' था यह एक '1' होना चाहिए था मुझे इस बात का यकीन नहीं है कि मुझे इसके लिए एक गलत मान क्यों प्राप्त हुआ और जब तक मुझे किसी अन्य वस्तु को INT को थोड़ा सरणी में परिवर्तित करने के लिए सी # में नहीं मिला,

 int val = 2097152; var arr = new BitArray(BitConverter.GetBytes(val)); var myVal = arr[21]; 

इसने परिणाम 'सच' को 'मायवल' के लिए बूलियन मान के रूप में पेश किया

मुझे पता है कि यह मूल्य प्राप्त करने का सबसे कारगर तरीका नहीं हो सकता है, लेकिन यह बहुत सीधे, सरल और पठनीय था।

 int value = 3; var array = Convert.ToString(value, 2).PadLeft(8, '0').ToArray(); 

मैं इसे एक लाइनर में इसे नीचे दिखाएगा जैसा हासिल होगा:

 using System; using System.Collections; namespace stackoverflowQuestions { class Program { static void Main(string[] args) { //get bit Array for number 20 var myBitArray = new BitArray(BitConverter.GetBytes(20)); } } } 

कृपया ध्यान दें कि एक BitArray प्रत्येक तत्व को BitArray रूप में संग्रहीत किया गया है जैसा कि नीचे स्नैपशॉट में दिखाया गया है:

यहां छवि विवरण दर्ज करें

नीचे कोड काम करता है:

 if (myBitArray[0] == false) { //this code block will execute } 

लेकिन नीचे कोड बिल्कुल संकलन नहीं करता है:

 if (myBitArray[0] == 0) { //some code }