Перевод из двоичной в десятиричную - C#
Формулировка задачи:
Помогите с кодом. Только чтобы не использовались методы типа Convert и так далее.
Всё на уровне паскаля.
Допустим делением по модулю на 10 и запись остатка в массив. Этим способом.
Вот нарыл код на паскале, я так понимаю отражает то, что мне нужно
function step(x:integer):longint; var i:integer; st:longint; begin if x=0 then step:=1 else begin st:=1; for i:=1 to x do begin st:=st*2; step:=st; end; end; end; var k,a,b,d,s:longint; begin s:=0; k:=0; readln(a); repeat b:=a mod 10; // отделяем последнюю цифру числа d:=a div 10; // запоминаем число без последней цифры s:=s+b*step(k); k:=k+1; a:=d; until d=0; writeln(s); end.
Ах да... и без класса .Math
Решение задачи: «Перевод из двоичной в десятиричную»
textual
Листинг программы
string s = "1101"; int n = 0; foreach(char c in s) n = n << 1 | c - '0'; Console.WriteLine("{0}(2) = {1}(10)", s, n); Console.ReadLine();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д