পূর্ণসংখ্যাকে সি # তে বাইনারি রূপান্তর করুন


191

একটি পূর্ণসংখ্যার সংখ্যাটিকে কীভাবে তার বাইনারি উপস্থাপনায় রূপান্তর করা যায়?

আমি এই কোডটি ব্যবহার করছি:

String input = "8";
String output = Convert.ToInt32(input, 2).ToString();

তবে এটি একটি ব্যতিক্রম ছোঁড়ে:

কোনও পার্সেবল ডিজিট খুঁজে পাওয়া যায়নি


1
আপনি কি কোনও সংখ্যার স্ট্রিং উপস্থাপনা বা একটি আসল সংখ্যার রূপান্তর করতে চেষ্টা করছেন? এবং আপনি দশমিক, বা ইনট রূপান্তর করার চেষ্টা করছেন? আপনার উদাহরণটি সত্যই আপনার প্রশ্নের সাথে মেলে না।
womp

: আপনি বাইট ধর্মান্তরিত দশমিক করতে খুঁজছি করছি, আপনি এই কোড ব্যবহার করতে পারেন gist.github.com/eranbetzalel/...
Eran Betzalel

আপনি বেস -10 স্ট্রিংটিকে বেস -২ হিসাবে পার্স করার চেষ্টা করছেন। কল কল ব্যর্থ হয়।
আরজে ডনিল

উত্তর:


361

আপনার উদাহরণটিতে স্ট্রিং হিসাবে প্রকাশিত একটি পূর্ণসংখ্যা রয়েছে। ধরা যাক আপনার পূর্ণসংখ্যা আসলে একটি পূর্ণসংখ্যা ছিল এবং আপনি পূর্ণসংখ্যাটি গ্রহণ করতে এবং এটি একটি বাইনারি স্ট্রিংয়ে রূপান্তর করতে চান।

int value = 8;
string binary = Convert.ToString(value, 2);

যা 1000 ফেরত দেয়।


বাইনারি দশমিক রূপান্তর করার জন্য কি একই জাতীয় পদ্ধতি আছে?
কাশিফ

29
@ কেশিফ 13 মান int value = Convert.ToInt32("1101", 2)দেবেvalue
ফ্লিন্ডবার্গ

45

যে কোনও ক্লাসিক বেস থেকে সি # তে যে কোনও বেসে রূপান্তর করুন

String number = "100";
int fromBase = 16;
int toBase = 10;

String result = Convert.ToString(Convert.ToInt32(number, fromBase), toBase);

// result == "256"

সমর্থিত বেসগুলি 2, 8, 10 এবং 16 হয়


1
এটি কাজ করবে না। আমি কেবল চেষ্টা করেছি string binary = Convert.ToString(533, 26);এবং একটি আর্গুমেন্ট এক্সেপশন পেয়েছি: অবৈধ বেস
ম্যাগনাম

5
হাঁ, দুটিই MSDN থেকে: শুধুমাত্র সর্বোত্তম ঘাঁটি সমর্থিত msdn.microsoft.com/en-us/library/8s62fh68(v=vs.110).aspx toBase ধরন: ফেরত মান, যা 2 হওয়া আবশ্যক এর System.Int32 দ্য বেস, 8, 10, বা 16.
sritmak

37

অতিরিক্ত কোনও কোড, কেবল ইনপুট, রূপান্তর এবং আউটপুট ছাড়াই খুব সাধারণ।

using System;

namespace _01.Decimal_to_Binary
{
    class DecimalToBinary
    {
        static void Main(string[] args)
        {
            Console.Write("Decimal: ");
            int decimalNumber = int.Parse(Console.ReadLine());

            int remainder;
            string result = string.Empty;
            while (decimalNumber > 0)
            {
                remainder = decimalNumber % 2;
                decimalNumber /= 2;
                result = remainder.ToString() + result;
            }
            Console.WriteLine("Binary:  {0}",result);
        }
    }
}

1
জেনেরিক বর্ণমালার জন্য এটি করা উচিত {[...]} করার সময় (দশমিক সংখ্যা> 0);
স্টিফান স্টেইগার

দশমিক সংখ্যা = 0 এর ক্ষেত্রে ফলাফল খালি হয়। দয়া করে কিছুক্ষণের জন্য আপডেট করুন (দশমিক সংখ্যা> 0 || স্ট্রিং.আইএসএনওলআরএম্পটি (ফলাফল))
আক্কাপলক

13

http://zamirsblog.blogspot.com/2011/10/convert-decimal-to-binary-in-c.html

    public string DecimalToBinary(string data)
    {
        string result = string.Empty;
        int rem = 0;
        try
        {
            if (!IsNumeric(data))
                error = "Invalid Value - This is not a numeric value";
            else
            {
                int num = int.Parse(data);
                while (num > 0)
                {
                    rem = num % 2;
                    num = num / 2;
                    result = rem.ToString() + result;
                }
            }
        }
        catch (Exception ex)
        {
            error = ex.Message;
        }
        return result;
    }

2
জেননের উত্তর থেকে এটি কীভাবে পৃথক তা নিশ্চিত নয়।
জোশুয়া ড্রেক

5
তিনি জেননের আগে এর উত্তর দিয়েছিলেন
রেজা তাইবুর


6

Convert.ToInt32(string, base)আপনার বেসে বেস রূপান্তর করে না। এটি ধরে নেওয়া হয় যে স্ট্রিংটিতে সূচিত বেসে একটি বৈধ সংখ্যা রয়েছে এবং বেস 10 এ রূপান্তর করে।

সুতরাং আপনি একটি ত্রুটি পেয়ে যাচ্ছেন কারণ "8" বেস 2 তে একটি বৈধ সংখ্যা নয়।

String str = "1111";
String Ans = Convert.ToInt32(str, 2).ToString();

প্রদর্শিত হবে 15(1111 বেস 2 = 15 বেস 10)

String str = "f000";
String Ans = Convert.ToInt32(str, 16).ToString();

দেখাবে 61440


4

আমি জানি এই উত্তরটি ইতিমধ্যে এখানে বেশিরভাগ উত্তরের মতো দেখাবে, কিন্তু আমি লক্ষ্য করেছি যে এগুলির কোনওটিই লুপ ব্যবহার করে না। এই কোডটি কাজ করে এবং এটিকে সাধারণ হিসাবে বিবেচনা করা যেতে পারে, এই অর্থে এটি কোনও বিশেষ ফাংশন ছাড়াই যেমন প্যারামিটারগুলির সাথে টসস্ট্রিং () এর মতো কাজ করবে এবং এটি খুব দীর্ঘও নয়। কিছু কিছু কেবল লুপ-লুপের পরিবর্তে লুপ পছন্দ করেন, এটি তাদের জন্য উপযুক্ত হতে পারে।

public static string ByteConvert (int num)
{
    int[] p = new int[8];
    string pa = "";
    for (int ii = 0; ii<= 7;ii = ii +1)
    {
        p[7-ii] = num%2;
        num = num/2;
    }
    for (int ii = 0;ii <= 7; ii = ii + 1)
    {
        pa += p[ii].ToString();
    }
    return pa;
}

4
using System;

class Program 
{
    static void Main(string[] args) {

        try {

            int i = (int) Convert.ToInt64(args[0]);
            Console.WriteLine("\n{0} converted to Binary is {1}\n", i, ToBinary(i));

        } catch(Exception e) {
            Console.WriteLine("\n{0}\n", e.Message);
        }
    }

    public static string ToBinary(Int64 Decimal) {
        // Declare a few variables we're going to need
        Int64 BinaryHolder;
        char[] BinaryArray;
        string BinaryResult = "";

        while (Decimal > 0) {
            BinaryHolder = Decimal % 2;
            BinaryResult += BinaryHolder;
            Decimal = Decimal / 2;
        }

        BinaryArray = BinaryResult.ToCharArray();
        Array.Reverse(BinaryArray);
        BinaryResult = new string(BinaryArray);

        return BinaryResult;
    }
}

6
আপনি এখানে চাকা পুনরুদ্ধার করছেন। ছাত্রলীগের এটি করার জন্য ইতিমধ্যে পদ্ধতি রয়েছে।
এলটিরিয়েল

4

আর একটি বিকল্প কিন্তু ইনলাইন সমাধান ব্যবহার করে Enumerableএবং LINQতা হ'ল:

int number = 25;

string binary = Enumerable.Range(0, (int) Math.Log(number, 2) + 1).Aggregate(string.Empty, (collected, bitshifts) => ((number >> bitshifts) & 1 )+ collected);

1
এখানে নন-বিসিএল উত্তরগুলির অনেকগুলি (তবে সমস্ত নয়) চেষ্টা করার পরে, আমি এটি প্রথম উত্তর পেয়েছি যা বাস্তবে কার্যকর হয়। তাদের বেশিরভাগ দর্শনীয়ভাবে ব্যর্থ হয়।
ইনটেক্সএক্স

1
আমার কোডটি আবিষ্কার করার জন্য আপনাকে ধন্যবাদ :) তবে আপনি যেমন দেখছেন, পারফরম্যান্সের দিক থেকে এটি রসিকতা
সানান ফাতালিয়েভ

আচ্ছা, আমরা সব কিছু রাখতে পারি না, পারি না? ;-)
ইন্টেক্সএক্স

3

এই ফাংশনটি সি # তে পূর্ণসংখ্যাকে বাইনারিতে রূপান্তরিত করবে:

public static string ToBinary(int N)
{
    int d = N;
    int q = -1;
    int r = -1;

    string binNumber = string.Empty;
    while (q != 1)
    {
        r = d % 2;
        q = d / 2;
        d = q;
        binNumber = r.ToString() + binNumber;
    }
    binNumber = q.ToString() + binNumber;
    return binNumber;
}

3
আপনার কোডটি কীভাবে প্রশ্নের উত্তর দেয় তা আপনার ব্যাখ্যা করা উচিত। পোস্ট করার আগে দয়া করে SO নির্দেশিকা পড়ুন।
স্পার্কপ্লাগ

উপরের লিখিত কোডটি স্বাক্ষরবিহীন পূর্ণসংখ্য সংখ্যাটিকে তার বাইনারি স্ট্রিংয়ে রূপান্তর করে।
গোবিন্দ

3
class Program
{
    static void Main(string[] args)
    {
        var @decimal = 42;
        var binaryVal = ToBinary(@decimal, 2);

        var binary = "101010";
        var decimalVal = ToDecimal(binary, 2);

        Console.WriteLine("Binary value of decimal {0} is '{1}'", @decimal, binaryVal);
        Console.WriteLine("Decimal value of binary '{0}' is {1}", binary, decimalVal);
        Console.WriteLine();

        @decimal = 6;
        binaryVal = ToBinary(@decimal, 3);

        binary = "20";
        decimalVal = ToDecimal(binary, 3);

        Console.WriteLine("Base3 value of decimal {0} is '{1}'", @decimal, binaryVal);
        Console.WriteLine("Decimal value of base3 '{0}' is {1}", binary, decimalVal);
        Console.WriteLine();


        @decimal = 47;
        binaryVal = ToBinary(@decimal, 4);

        binary = "233";
        decimalVal = ToDecimal(binary, 4);

        Console.WriteLine("Base4 value of decimal {0} is '{1}'", @decimal, binaryVal);
        Console.WriteLine("Decimal value of base4 '{0}' is {1}", binary, decimalVal);
        Console.WriteLine();

        @decimal = 99;
        binaryVal = ToBinary(@decimal, 5);

        binary = "344";
        decimalVal = ToDecimal(binary, 5);

        Console.WriteLine("Base5 value of decimal {0} is '{1}'", @decimal, binaryVal);
        Console.WriteLine("Decimal value of base5 '{0}' is {1}", binary, decimalVal);
        Console.WriteLine();

        Console.WriteLine("And so forth.. excluding after base 10 (decimal) though :)");
        Console.WriteLine();


        @decimal = 16;
        binaryVal = ToBinary(@decimal, 11);

        binary = "b";
        decimalVal = ToDecimal(binary, 11);

        Console.WriteLine("Hexidecimal value of decimal {0} is '{1}'", @decimal, binaryVal);
        Console.WriteLine("Decimal value of Hexidecimal '{0}' is {1}", binary, decimalVal);
        Console.WriteLine();
        Console.WriteLine("Uh oh.. this aint right :( ... but let's cheat :P");
        Console.WriteLine();

        @decimal = 11;
        binaryVal = Convert.ToString(@decimal, 16);

        binary = "b";
        decimalVal = Convert.ToInt32(binary, 16);

        Console.WriteLine("Hexidecimal value of decimal {0} is '{1}'", @decimal, binaryVal);
        Console.WriteLine("Decimal value of Hexidecimal '{0}' is {1}", binary, decimalVal);

        Console.ReadLine();
    }


    static string ToBinary(decimal number, int @base)
    {
        var round = 0;
        var reverseBinary = string.Empty;

        while (number > 0)
        {
            var remainder = number % @base;
            reverseBinary += remainder;

            round = (int)(number / @base);
            number = round;
        }

        var binaryArray = reverseBinary.ToCharArray();
        Array.Reverse(binaryArray);

        var binary = new string(binaryArray);
        return binary;
    }

    static double ToDecimal(string binary, int @base)
    {
        var val = 0d;

        if (!binary.All(char.IsNumber))
            return 0d;

        for (int i = 0; i < binary.Length; i++)
        {
            var @char = Convert.ToDouble(binary[i].ToString());

            var pow = (binary.Length - 1) - i;
            val += Math.Pow(@base, pow) * @char;
        }

        return val;
    }
}

শিক্ষার উত্স:

বাইনারি সম্পর্কে আপনার যা জানা দরকার Everything

দশমিককে বাইনারি রূপান্তর করতে এলগরিদম সহ including


টোডিসিমাল () পদ্ধতিটি প্রদর্শন করার জন্য ধন্যবাদ।
রাজীব

3
    static void convertToBinary(int n)
    {
        Stack<int> stack = new Stack<int>();
        stack.Push(n);
        // step 1 : Push the element on the stack
        while (n > 1)
        {
            n = n / 2;
            stack.Push(n);
        }

        // step 2 : Pop the element and print the value
        foreach(var val in stack)
        {
            Console.Write(val % 2);
        }
     }

1
হ্যালো ! আপনার পোস্ট করা
কোডটির

এই ফাংশনটি সি # তে পূর্ণসংখ্যাকে বাইনারি রূপান্তরিত করে। বাইনারিতে পূর্ণসংখ্যা রূপান্তর করতে, আমরা প্রতিটি বারে বাকী অংশগুলিকে নোট তৈরি করে, ভাগফলটি শূন্য না হওয়া পর্যন্ত বার বার বেসটিকে ভাগ করে ভাগ করব (মানগুলি সংরক্ষণের জন্য স্ট্যাক.পুশ ব্যবহৃত হয়েছে)। তারপরে, আমরা বাকী অংশগুলি বিপরীতে লিখি, নীচে থেকে শুরু করে এবং প্রতিটি সময় ডানদিকে সংযোজন (মানগুলি মুদ্রণের জন্য স্ট্যাকের মধ্য দিয়ে লুপ) করি।
রাহুল শর্মা

2
class Program{

   static void Main(string[] args){

      try{

     int i = (int)Convert.ToInt64(args[0]);
         Console.WriteLine("\n{0} converted to Binary is {1}\n",i,ToBinary(i));

      }catch(Exception e){

         Console.WriteLine("\n{0}\n",e.Message);

      }

   }//end Main


        public static string ToBinary(Int64 Decimal)
        {
            // Declare a few variables we're going to need
            Int64 BinaryHolder;
            char[] BinaryArray;
            string BinaryResult = "";

            while (Decimal > 0)
            {
                BinaryHolder = Decimal % 2;
                BinaryResult += BinaryHolder;
                Decimal = Decimal / 2;
            }

            // The algoritm gives us the binary number in reverse order (mirrored)
            // We store it in an array so that we can reverse it back to normal
            BinaryArray = BinaryResult.ToCharArray();
            Array.Reverse(BinaryArray);
            BinaryResult = new string(BinaryArray);

            return BinaryResult;
        }


}//end class Program

2

বিসিএল সরবরাহ Convert.ToString(n, 2)করা ভাল, তবে আপনার ক্ষেত্রে বিকল্প বাস্তবায়ন প্রয়োজন যা বিসিএল সরবরাহের চেয়ে কম টিকটিক।

নিম্নলিখিত কাস্টম বাস্তবায়ন সমস্ত পূর্ণসংখ্যার (-তে এবং + ve) জন্য কাজ করে। আসল উত্স https://davidsekar.com/algorithms/csharp-program-to-convers-decimal-to-binary থেকে নেওয়া

static string ToBinary(int n)
{
    int j = 0;
    char[] output = new char[32];

    if (n == 0)
        output[j++] = '0';
    else
    {
        int checkBit = 1 << 30;
        bool skipInitialZeros = true;
        // Check the sign bit separately, as 1<<31 will cause
        // +ve integer overflow
        if ((n & int.MinValue) == int.MinValue)
        {
            output[j++] = '1';
            skipInitialZeros = false;
        }

        for (int i = 0; i < 31; i++, checkBit >>= 1)
        {
            if ((n & checkBit) == 0)
            {
                if (skipInitialZeros)
                    continue;
                else
                    output[j++] = '0';
            }
            else
            {
                skipInitialZeros = false;
                output[j++] = '1';
            }
        }
    }

    return new string(output, 0, j);
}

কোডের উপরে আমার বাস্তবায়ন। সুতরাং, আমি কোনও প্রতিক্রিয়া শুনতে আগ্রহী :)


1
    // I use this function
    public static string ToBinary(long number)
    {
        string digit = Convert.ToString(number % 2);
        if (number >= 2)
        {
            long remaining = number / 2;
            string remainingString = ToBinary(remaining);
            return remainingString + digit;
        }
        return digit;
     }

1
        static void Main(string[] args) 
        {
        Console.WriteLine("Enter number for converting to binary numerical system!");
        int num = Convert.ToInt32(Console.ReadLine());
        int[] arr = new int[16];

        //for positive integers
        if (num > 0)
        {

            for (int i = 0; i < 16; i++)
            {
                if (num > 0)
                {
                    if ((num % 2) == 0)
                    {
                        num = num / 2;
                        arr[16 - (i + 1)] = 0;
                    }
                    else if ((num % 2) != 0)
                    {
                        num = num / 2;
                        arr[16 - (i + 1)] = 1;
                    }
                }
            }
            for (int y = 0; y < 16; y++)
            {
                Console.Write(arr[y]);
            }
            Console.ReadLine();
        }

        //for negative integers
        else if (num < 0)
        {
            num = (num + 1) * -1;

            for (int i = 0; i < 16; i++)
            {
                if (num > 0)
                {
                    if ((num % 2) == 0)
                    {
                        num = num / 2;
                        arr[16 - (i + 1)] = 0;
                    }
                    else if ((num % 2) != 0)
                    {
                        num = num / 2;
                        arr[16 - (i + 1)] = 1;
                    }
                }
            }

            for (int y = 0; y < 16; y++)
            {
                if (arr[y] != 0)
                {
                    arr[y] = 0;
                }
                else
                {
                    arr[y] = 1;
                }
                Console.Write(arr[y]);
            }
            Console.ReadLine();
        }           
    }

1
আমি জানি যে কোডটি বেশ বেসিক এবং খুব সহজ নয় তবে নেতিবাচক সংখ্যার সাথেও কাজ করছে
কিরিল ডবরেভ

আপনি 32 বিট পূর্ণসংখ্যা গ্রহণ করছেন তবে আপনার আউটপুট অ্যারে আকারের - 16 বিট। শুধু বলছি ...
ডেভিড চেলিয়াহ

1
হ্যাঁ, মন্তব্যটি সঠিক। এই কোডটির জন্য সংক্ষিপ্ত ব্যবহার করা সঠিক, তবে এটি পূর্বের সাথে কাজ করে। উদাহরণ স্বল্প সংখ্যার সাথে। আমরা যদি বড় সংখ্যক ব্যবহার করতে চাই তবে প্রকারগুলি অবশ্যই পরিবর্তন করতে হবে। ধারণাটি হ'ল আমরা যদি নেতিবাচক সংখ্যা নিয়ে কাজ করতে চাই তবে ফলাফলটি কমপক্ষে একটি বাইট বড় হওয়া উচিত যাতে প্রোগ্রামটি দেখতে পারে যে এটি একটি উল্টানো অতিরিক্ত কোড।
কিরিল ডবরেভ

1

আপনি যদি ক্লাসের অভ্যন্তরে আপনার মূল পদ্ধতি থেকে কল করতে পারেন এমন একটি সংক্ষিপ্ত ফাংশন চান তবে এটি সহায়ক হতে পারে। int.Parse(toBinary(someint))যদি আপনার স্ট্রিংয়ের পরিবর্তে কোনও সংখ্যার প্রয়োজন হয় তবে আপনার কল করার প্রয়োজন হতে পারে তবে আমি এই পদ্ধতিটি বেশ ভালভাবে দেখছি। অতিরিক্তভাবে, এটিকে forপরিবর্তে লুপ ব্যবহার করতে সামঞ্জস্য করা যায় do-while যদি আপনি পছন্দ করেন।

    public static string toBinary(int base10)
    {
        string binary = "";
        do {
            binary = (base10 % 2) + binary;
            base10 /= 2;
        }
        while (base10 > 0);

        return binary;
    }

toBinary(10)স্ট্রিং প্রদান করে "1010"


এটি গোবিন্দের জবাবের মতোই একইরকম (যা আমার আশ্চর্যের জন্য - এই সমস্ত উত্তরগুলির মধ্যে ডান থেকে বামে কেবল সমান উত্তর) তবে আপনি ঠিক বলেছেন যে এটি সংক্ষিপ্ত এবং নিকটতর। এটি বলেছিল, আমি নিশ্চিত নই যে এর মতো স্ট্রিং প্রিপেন্ডিং খুব দক্ষ হতে চলেছে, এবং দক্ষতার জন্য আপনি বিল্ট-ইন পদ্ধতিটিকে পরাজিত করার সম্ভাবনা কম। আপনি কেন এটি আবার একটি পূর্ণসংখ্যার সংখ্যা হিসাবে ব্যাখ্যা করতে চান তাও আমি দেখতে পাচ্ছি না, তবে আপনি যদি তা করতে পারতেন তবে স্ট্রিংয়ের পরিবর্তে 10 এর ক্ষমতার বাইরে আউটপুট তৈরি করে এটি তৈরি করতে পারতেন।
রুপ

1

আমি এই কোডিং চ্যালেঞ্জের মধ্য দিয়ে এসেছি যেখানে আপনাকে 32 ডিজিটের দশমিককে বাইনারি রূপান্তর করতে হবে এবং স্ট্রিংয়ের সম্ভাব্য সংমিশ্রণটি সন্ধান করতে হবে।

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Numerics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {

        public static void Main()
        {
            int numberofinputs = int.Parse(Console.ReadLine());
            List<BigInteger> inputdecimal = new List<BigInteger>();
            List<string> outputBinary = new List<string>();


            for (int i = 0; i < numberofinputs; i++)
            {
                inputdecimal.Add(BigInteger.Parse(Console.ReadLine(), CultureInfo.InvariantCulture));
            }
            //processing begins 

            foreach (var n in inputdecimal)
            {
                string binary = (binaryconveter(n));
                subString(binary, binary.Length);
            }

            foreach (var item in outputBinary)
            {
                Console.WriteLine(item);
            }

            string binaryconveter(BigInteger n)
            {
                int i;
                StringBuilder output = new StringBuilder();

                for (i = 0; n > 0; i++)
                {
                    output = output.Append(n % 2);
                    n = n / 2;
                }

                return output.ToString();
            }

            void subString(string str, int n)
            {
                int zeroodds = 0;
                int oneodds = 0;

                for (int len = 1; len <= n; len++)
                {

                    for (int i = 0; i <= n - len; i++)
                    {
                        int j = i + len - 1;

                        string substring = "";
                        for (int k = i; k <= j; k++)
                        {
                            substring = String.Concat(substring, str[k]);

                        }
                        var resultofstringanalysis = stringanalysis(substring);
                        if (resultofstringanalysis.Equals("both are odd"))
                        {
                            ++zeroodds;
                            ++oneodds;
                        }
                        else if (resultofstringanalysis.Equals("zeroes are odd"))
                        {
                            ++zeroodds;
                        }
                        else if (resultofstringanalysis.Equals("ones are odd"))
                        {
                            ++oneodds;
                        }

                    }
                }
                string outputtest = String.Concat(zeroodds.ToString(), ' ', oneodds.ToString());
                outputBinary.Add(outputtest);
            }

            string stringanalysis(string str)
            {
                int n = str.Length;

                int nofZeros = 0;
                int nofOnes = 0;

                for (int i = 0; i < n; i++)
                {
                    if (str[i] == '0')
                    {
                        ++nofZeros;
                    }
                    if (str[i] == '1')
                    {
                        ++nofOnes;
                    }

                }
                if ((nofZeros != 0 && nofZeros % 2 != 0) && (nofOnes != 0 && nofOnes % 2 != 0))
                {
                    return "both are odd";
                }
                else if (nofZeros != 0 && nofZeros % 2 != 0)
                {
                    return "zeroes are odd";
                }
                else if (nofOnes != 0 && nofOnes % 2 != 0)
                {
                    return "ones are odd";
                }
                else
                {
                    return "nothing";
                }

            }
            Console.ReadKey();
        }

    }
}

0
    int x=550;
    string s=" ";
    string y=" ";

    while (x>0)
    {

        s += x%2;
        x=x/2;
    }


    Console.WriteLine(Reverse(s));
}

public static string Reverse( string s )
{
    char[] charArray = s.ToCharArray();
    Array.Reverse( charArray );
    return new string( charArray );
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.