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

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

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

Как исправить ошибку?
static public string ConvertToOcta(string input_bin)
        {
            while (input_bin.Length % 3 != 0)
            {
                input_bin = "0" + input_bin;
            }
            int one_octa_num;
            string result = "";
            for(int i = input_bin.Length;i>0; i-=3)
            {
                int rank2 = input_bin[i - 2] == 1 ? 4 : 0;
                int rank1 = input_bin[i - 1] == 1 ? 2 : 0;
                int rank0 = input_bin[i] == 1 ? 1 : 0;
 
                one_octa_num = rank0 + rank1 + rank2;
                result += one_octa_num;
 
            }
            return result;
        }

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

textual
Листинг программы
using System;
class Program
{
    static string BinToOct(string bin)
    {
        string oct = "";
        int tri = 0;
        for (int i = bin.Length-1, j = 0; i >= 0; i--, j++) 
        {
            tri += bin[i] == '1' ? (int)Math.Pow(2, j) : 0;
            if (j==2 || i == 0) 
            {
                oct = tri+oct;
                j = -1;
                tri = 0;
            }
        }
            return oct;
    }
    static void Main()
    {
        Console.WriteLine(BinToOct(Console.ReadLine()));
    }
}

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


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

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

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