Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Conversia unui numar natural din baza 2 in baza 10

Să se transforme un numar natural din baza 2 în baza 10.

Analiza Programului

Un numar in baza 2 are corespondent in baza 10 un numar egal cu suma produselor dintre fiecare cifra si 2 la exponentul egal cu pozitia pe care se afla cifra in numarul scris in baza 2 (pozitia este calculata de la dreapta la stanga).

Exemplu : 101011(2) = 1×2^0 + 1×2^1 + 0x2^2 + 1×2^3 + 0x2^4 + 1×2^5 = 43.

namespace _27
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Introduceti numarul in sistem binar");
            char[] decimalNumberArray = Console.ReadLine().ToCharArray();

            //cifra din numarul binar
            int n;
            //produsul
            double p;
            //suma care va reprezenta numarul in baza 10
            double sum = 0;
            //indice pentru exponent
            int j = 0;

            //parcurgem vectorul de la ultima la prima cifra            
            for (int i = decimalNumberArray.Length - 1; i >= 0; i--)
            {
                n = int.Parse(decimalNumberArray[i].ToString());
                p = n * Math.Pow(2, j);
                j++;
                sum += p;
            }
            
            Console.WriteLine(sum.ToString());

            Console.ReadLine();
        }
    }
}
Category: Uncategorized

Your email address will not be published. Required fields are marked *

*