Перевод из двоичной системы в десятичную - C#
Формулировка задачи:
Задано неотрицательное целое число в двоичной системе счисления. Требуется перевести его в десятичную.
Ввод
В первой строке содержится исходное число не более чем из
50 000
цифр 0 и 1 без ведущих нулей. Вывод Вывод должен содержать это число в десятичной системе счисления без ведущих нулей. Ввод______Вывод 101_______5
Была проба... Но надо числа больше... Через строки как-то... Помогите, а то я не шарю...
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace ConsoleApplication30
- {
- class Program
- {
- static void Main(string[] args)
- {
- ulong num=0, ost = 0, result = 0, count = 0, s=0;
- num = ulong.Parse(Console.ReadLine());
- while (num > 0)
- {
- ost = num % 10;
- s = Convert.ToUInt64(Math.Pow(2, count));
- result = result + ost * s;
- count+=1;
- num = num/10;
- }
- Console.WriteLine("{0}",result);
- }
- }
- }
Решение задачи: «Перевод из двоичной системы в десятичную»
textual
Листинг программы
- public static void Main(string[] args)
- {
- string s = "101";
- Console.WriteLine(FromBinary(s));
- }
- static BigInteger FromBinary(string input)
- {
- BigInteger big = new BigInteger();
- foreach (var c in input)
- {
- big <<= 1;
- big += c - '0';
- }
- return big;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д