Перевод из двоичной в десятиричную - 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();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы