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

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

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

Мне нужно сделать так: 123 = (1*4 в степени 2) + (2*4 в степени 1) + (3*4 в степени 0) = 27
Листинг программы
  1. private void radioButton1_CheckedChanged(object sender, EventArgs e)
  2. {
  3. textBox5.Text = string.Empty;
  4.  
  5. var i = textBox1.Text.Length.ToString();// считала количество знаков в строке
  6. int value = Convert.ToInt32(i);// конвертировала из строки в int
  7. int s = textBox1.Text[0]; // обращение к первому элементу
  8.  
  9. int SistChisl = 4;// система счисления
  10. for (int power = 0; power<value; power++) // в степень возводит. Если вводишь 123, то вычисление степени будет 3 раза.
  11. {
  12. var c = Math.Pow(SistChisl, power);
  13. textBox5.Text = Convert.ToString(c); // итог выдает 16. Т.е. 4 в степени 2. По отладчику смотрела все 3 раза возведение в степень проходит правильно.
  14. }
  15. }
Не знаю как сделать чтобы каждое число умножалось на число возведенное в степень, а затем прибавлялось к следующему числу возведенному в степень.

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

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

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


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

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

11   голосов , оценка 3.636 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы