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