Перевод из двоичной в десятиричную - 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();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д