2009-12-25 5 views
15

Как преобразовать двоичную строку, такую ​​как 1001101 в десятичный? (77)Как преобразовать двоичный код в десятичный

+16

Вы задали несколько сотен вопросов, не предусмотрено никаких ответов на кого-либо еще вопросы, и принимаются только ответы на одну треть ваших вопросов. Это, похоже, не в духе SO. Возможно, вы могли бы признать усилия людей, предоставляя вам все эти ответы, голосуя за хорошие ответы и каждый раз определяя принятый ответ? – DOK

+1

если я не знаю ответов - я не отвечаю – Gold

+7

@ Gold: Это не причина не принимать ответы на любые ваши сотни других вопросов. Никто не захочет отвечать, если вы не дадите кредит там, где это необходимо. –

ответ

1
string s=Console.ReadLine(); 

int b=Convert.ToInt32(s,2); 

Console.WriteLine("Input value in base 10 = "+b); 

конвертировать любой двоичный в десятичные. :)

+2

Ваш ответ использует то же решение, что и @SLaks, и не предоставляет ничего нового в этой теме. – zajonc

1

Если вы после этого ручным способом, а не с помощью встроенного в библиотеках C#, это будет работать:

static int BinaryToDec(string input) 
{ 
    char[] array = input.ToCharArray(); 
    // Reverse since 16-8-4-2-1 not 1-2-4-8-16. 
    Array.Reverse(array); 
    /* 
    * [0] = 1 
    * [1] = 2 
    * [2] = 4 
    * etc 
    */ 
    int sum = 0; 

    for(int i = 0; i < array.Length; i++) 
    { 
     if (array[i] == '1') 
     { 
      // Method uses raising 2 to the power of the index. 
      if (i == 0) 
      { 
       sum += 1; 
      } 
      else 
      { 
       sum += (int)Math.Pow(2, i); 
      } 
     } 

    } 

    return sum; 
} 
Смежные вопросы