Перевод из троичной системы счисления в десятичную

Рассмотрим преобразование целого положительного троичного числа в десятичную систему счисления.

Программа для перевода троичного числа в десятичную систему счисления

using System;
using System.Text;

class Program
{
    static uint TernaryToDecimal(string ternaryNumber)
    {
        var exponent = 0;
        var result = 0u;
        for (var i = ternaryNumber.Length - 1; i >= 0; i--)
        {
            var ternaryDigit = Convert.ToUInt32(ternaryNumber[i].ToString());
            result += ternaryDigit * Convert.ToUInt32(Math.Pow(3, exponent));
            exponent++;
        }

        return result;
    }

    static void Main(string[] args)
    {
        Console.OutputEncoding = Encoding.UTF8;
        Console.Write("Введите число в троичной системе: ");
        var ternaryNum = Console.ReadLine();
        var decimalNum = TernaryToDecimal(ternaryNum);
        Console.WriteLine("{0} => {1}", ternaryNum, decimalNum);
        Console.ReadLine();
    }
}

Смотрите также: