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

C# में बाइनरी को दशमलव में बदलना

बाइनरी (बेस-2) संख्या को दशमलव (बेस-10) में बदलने के लिए हम प्रत्येक बिट को उसके स्थान मूल्य (2 की घात) से गुणा करके जोड़ते हैं।

एल्गोरिदम

  1. दाएं से बाएं (LSB से MSB) प्रत्येक बिट प्रोसेस करें।
  2. बिट × 2^पोजीशन जोड़ें।
  3. पोजीशन 0 से शुरू होती है।

उदाहरण

using System;
using System.Collections.Generic;
using System.Text;

namespace Demo {
    class MyApplication {
        static void Main(string[] args) {
            int num = 101;      // बाइनरी इनपुट
            int binVal = num;   // मूल मान सुरक्षित रखें
            int decVal = 0;
            int baseVal = 1;    // 2^0
            int rem;

            while (num > 0) {
                rem = num % 10;           // अंतिम बिट प्राप्त करें
                decVal = decVal + rem * baseVal; // मान जोड़ें
                num = num / 10;           // अंतिम बिट हटाएं
                baseVal = baseVal * 2;    // अगली घात: 1, 2, 4, 8...
            }

            Console.Write("Binary Number: " + binVal);
            Console.Write("\nDecimal: " + decVal);
            Console.ReadLine();
        }
    }
}

आउटपुट

Binary Number: 101
Decimal: 5

चरण-दर-चरण (101₂ के लिए)

इटरेशन num rem (num%10) baseVal (2^pos) decVal
1 101 1 1 (2⁰) 1
2 10 0 2 (2¹) 1
3 1 1 4 (2²) 5
4 0 - - 5 (समाप्त)

बिल्ट-इन मेथड (सबसे आसान)

string binary = "101";
int decimalValue = Convert.ToInt32(binary, 2); // 5

// या
int decimalValue = int.Parse(binary, System.Globalization.NumberStyles.Binary);

बिटवाइज दृष्टिकोण (स्ट्रिंग के बजाय int इनपुट के लिए)

int binary = 0b101; // C# 7+ बाइनरी लिटरल
int decimal = 0;
int pos = 0;

while (binary > 0) {
    if ((binary & 1) == 1)
        decimal += 1 << pos;
    binary >>= 1;
    pos++;
}

बड़े बाइनरी स्ट्रिंग्स के लिए

string largeBinary = "10101010101010101010101010101010";
// int/long में फिट नहीं होगा
var bigInt = System.Numerics.BigInteger.Parse(largeBinary, System.Globalization.NumberStyles.Binary);

मुख्य बिंदु

  • इनपुट के रूप में int लेने वाला मैन्युअल तरीका केवल छोटी बाइनरी संख्याओं के लिए काम करता है (अधिकतम 10-11 बिट्स जब तक int ओवरफ्लो नहीं होता)।
  • स्ट्रिंग इनपुट के लिए Convert.ToInt32(str, 2) उपयोग करें - कोई आकार सीमा नहीं।
  • C# 7+ में बाइनरी लिटरल: 0b1010 = 10।
  1. C++ में बाइनरी से डेसिमल रूपांतरण C++ में बाइनरी से डेसिमल रूपांतरण

    एक बाइनरी संख्या इनपुट के रूप में दी गई है, कार्य दी गई बाइनरी संख्या को डेसिमल संख्या में बदलना है। कंप्यूटर में डेसिमल संख्या को आधार 10 के साथ दर्शाया जाता है और बाइनरी संख्या को आधार 2 के साथ दर्शाया जाता है क्योंकि इसमें केवल दो बाइनरी अंक 0 और 1 होते हैं जबकि डेसिमल संख्याएं 0-9 से शुरू होने व

  1. पायथन प्रोग्राम: दशमलव को बाइनरी संख्या में बदलें पायथन प्रोग्राम: दशमलव को बाइनरी संख्या में बदलें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक दशमलव संख्या दी गई है, जिसे उसके बाइनरी समकक्ष में बदलना है। दिए गए समस्या को हल करने के दो दृष्टिकोण हैं। आइए उन्हें एक-एक करके देखें। पुनरावर्ती दृष्टिकोण उदाहरण 1: DecimalToBinary(num // 2) print(num % 2, en

  1. पायथन प्रोग्राम: डेसीमल को बाइनरी नंबर में बदलें पायथन प्रोग्राम: डेसीमल को बाइनरी नंबर में बदलें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक नंबर दिए जाने पर, हमें इसे बाइनरी नंबर में बदलने की आवश्यकता है। दृष्टिकोण 1 – रिकर्सिव समाधान 1: DecToBin(num // 2) print num % 2 उदाहरण 1: DecimalToBi