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

Узнай цену своей работы

Формулировка задачи:

Мне нужно сделать так: 123 = (1*4 в степени 2) + (2*4 в степени 1) + (3*4 в степени 0) = 27
private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            textBox5.Text = string.Empty;

            var i = textBox1.Text.Length.ToString();// считала количество знаков в строке
            int value = Convert.ToInt32(i);// конвертировала из строки в int
            
            int s = textBox1.Text[0]; // обращение к первому элементу 

            int SistChisl = 4;// система счисления
 
            for (int power = 0; power<value; power++) // в степень возводит. Если вводишь 123, то вычисление степени будет 3 раза. 
            { 
                var c = Math.Pow(SistChisl, power);
                textBox5.Text = Convert.ToString(c); // итог выдает 16. Т.е. 4 в степени 2. По отладчику смотрела все 3 раза возведение в степень проходит правильно.
            }
            
        }
Не знаю как сделать чтобы каждое число умножалось на число возведенное в степень, а затем прибавлялось к следующему числу возведенному в степень.

Решение задачи: «Перевод из четверичной в десятичную систему счисления»

textual
Листинг программы
            string str = textBox1.Text;
            int value = str.Length;
            double res = 0;
 
            int SistChisl = 4;// система счисления
 
            for (int i = 0; i < value; i++)  
            {
                res += (int)Char.GetNumericValue(str[value - 1 - i]) * Math.Pow(SistChisl, i);
            }
 
            textBox5.Text = res.ToString();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.636 из 5
Похожие ответы