Перевод из двоичного в десятичное - C#

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

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

Как исправить ошибку?
Листинг программы
  1. static public string ConvertToOcta(string input_bin)
  2. {
  3. while (input_bin.Length % 3 != 0)
  4. {
  5. input_bin = "0" + input_bin;
  6. }
  7. int one_octa_num;
  8. string result = "";
  9. for(int i = input_bin.Length;i>0; i-=3)
  10. {
  11. int rank2 = input_bin[i - 2] == 1 ? 4 : 0;
  12. int rank1 = input_bin[i - 1] == 1 ? 2 : 0;
  13. int rank0 = input_bin[i] == 1 ? 1 : 0;
  14. one_octa_num = rank0 + rank1 + rank2;
  15. result += one_octa_num;
  16. }
  17. return result;
  18. }

Решение задачи: «Перевод из двоичного в десятичное»

textual
Листинг программы
  1. using System;
  2. class Program
  3. {
  4.     static string BinToOct(string bin)
  5.     {
  6.         string oct = "";
  7.         int tri = 0;
  8.         for (int i = bin.Length-1, j = 0; i >= 0; i--, j++)
  9.         {
  10.             tri += bin[i] == '1' ? (int)Math.Pow(2, j) : 0;
  11.             if (j==2 || i == 0)
  12.             {
  13.                 oct = tri+oct;
  14.                 j = -1;
  15.                 tri = 0;
  16.             }
  17.         }
  18.             return oct;
  19.     }
  20.     static void Main()
  21.     {
  22.         Console.WriteLine(BinToOct(Console.ReadLine()));
  23.     }
  24. }

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


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

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

13   голосов , оценка 3.692 из 5

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

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

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