Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में बाइनरी स्ट्रिंग को इंटीजर में बदलना

बाइनरी स्ट्रिंग (जैसे "1001") को इंटीजर में बदलने के लिए C# में Convert.ToInt32 मेथड सबसे सरल तरीका है।

सबसे सरल तरीका: Convert.ToInt32

string binary = "1001";
int value = Convert.ToInt32(binary, 2); // बेस 2
Console.WriteLine(value); // 9

मैन्युअल पार्सिंग (शैक्षिक)

public static int BinaryStringToInt(string binary) {
    if (string.IsNullOrEmpty(binary))
        throw new ArgumentException("Invalid input");

    int result = 0;
    for (int i = 0; i < binary.Length; i++) {
        char c = binary[i];
        if (c == '1') {
            result += (int)Math.Pow(2, binary.Length - 1 - i);
        }
        else if (c != '0') {
            throw new ArgumentException("Invalid binary string");
        }
    }
    return result;
}

बिटवाइज दृष्टिकोण (तेज, कोई Math.Pow नहीं)

public static int BinaryStringToIntFast(string binary) {
    int result = 0;
    foreach (char c in binary) {
        result <<= 1; // बाएं शिफ्ट (×2)
        if (c == '1') result |= 1;
        else if (c != '0') throw new ArgumentException("Invalid binary");
    }
    return result;
}

उदाहरण: पूरी कक्षा

using System;

class Program {
    static void Main() {
        string str = "1001";
        Console.WriteLine("Integer: " + ConvertClass.Convert(str));
    }
}

public static class ConvertClass {
    public static int Convert(string str1) {
        if (str1 == "")
            throw new Exception("Invalid input");

        int val = 0, res = 0;
        for (int i = 0; i < str1.Length; i++) {
            try {
                val = Int32.Parse(str1[i].ToString());
                if (val == 1)
                    res += (int)Math.Pow(2, str1.Length - 1 - i);
                else if (val > 1)
                    throw new Exception("Invalid!");
            }
            catch {
                throw new Exception("Invalid!");
            }
        }
        return res;
    }
}

आउटपुट

Integer: 9

महत्वपूर्ण नोट्स

  • Convert.ToInt32(str, 2) मानक, परीक्षित, और सबसे कुशल तरीका है।
  • मैन्युअल पार्सिंग में Math.Pow धीमा है - बिटवाइज शिफ्ट (<<) बेहतर है।
  • इनपुट वैलिडेशन आवश्यक है (केवल '0' और '1' अनुमत)।
  • बहुत लंबी बाइनरी स्ट्रिंग्स के लिए BigInteger उपयोग करें।

BigInteger के साथ (असीमित आकार)

using System.Numerics;

string hugeBinary = "1" + new string('0', 1000); // 2^1000
BigInteger big = BigInteger.Parse(hugeBinary, System.Globalization.NumberStyles.Binary);

उल्टा रूपांतरण: इंट → बाइनरी स्ट्रिंग

int n = 9;
string binary = Convert.ToString(n, 2); // "1001"
string binaryPadded = Convert.ToString(n, 2).PadLeft(8, '0'); // "00001001"
  1. - पायथन प्रोग्राम: लिस्ट को स्ट्रिंग में बदलें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक लिस्ट इटरेबल दी गई है, जिसे स्ट्रिंग टाइप इटरेबल में बदलना है। दिए गए समस्या को हल करने के चार दृष्टिकोण हैं। आइए उन्हें एक-एक करके देखें। ब्रूट-फोर्स दृष्टिकोण उदाहरण def listToString(s): # खाली स्ट्रिंग इनिशियलाइज़ कर

  1. - पायथन प्रोग्राम: लिस्ट को स्ट्रिंग में बदलें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक लिस्ट दिए जाने पर, हमें इसे स्ट्रिंग टाइप में बदलने की आवश्यकता है। यहां हम ऊपर दी गई प्रॉब्लम स्टेटमेंट को हल करने के लिए चार अलग-अलग दृष्टिकोणों पर चर्चा करेंगे: दृष्टिकोण 1: खा

  1. - पायथन में स्ट्रिंग को बाइनरी में कैसे बदलें?

    स्ट्रिंग को बाइनरी में बदलने के लिए, आपको प्रत्येक कैरेक्टर पर पुनरावृति करके उसे बाइनरी में बदलना होगा। फिर इन कैरेक्टर्स को एक सिंगल स्ट्रिंग में जोड़ दें। आप format(ord(x), b) का उपयोग करके कैरेक्टर x को बाइनरी के रूप में फॉर्मेट कर सकते हैं। उदाहरण के लिए: >>> st = hello world >>&