Перевод из двоичного числа в десятичное без ведущих нулей - C#
Формулировка задачи:
Перевод двоичного числа в десятичное
- не работает никак совсем. Прощу помощи, мб просто подсказать , что там не такю
Знаю, что сейчас будут сообщения вроде "Ты поиском умеешь пользоватьсся?" и тд.
Заранее прошу прощения!
Решение задачи: «Перевод из двоичного числа в десятичное без ведущих нулей»
textual
Листинг программы
//string s = new string('1', 60000); string s = "00001101"; s = s.TrimStart('0'); int[] n = new int[(int)Math.Ceiling(s.Length / Math.Log(10, 2)) + 1]; int p = 0; for (int i = 0; i < s.Length; i++) { // умножаем на 2; for (int j = 0; j < n.Length; j++) n[j] <<= 1; // прибавляем единицу if (s[i] == '1') n[0]++; // нормализуем цифры for (int j = 0; j <= p; j++) { n[j + 1] += n[j] / 10; n[j] = n[j] % 10; } if (n[p + 1] > 0) p++; } Console.WriteLine(n.Take(p+1).Reverse().Aggregate(new StringBuilder(), (sb, x)=>sb.Append(x)));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д