var
de,dv,s:string;
i,j,l,d,su,su1,g:integer;
begin
dv:=Edit1.text;
L:=length(Edit1.Text);
Edit2.Text:=IntToStr(l);
L:=l-2;
d:=2;
For I:=l downto -1 do begin
s:=Copy(dv,i,1);
Edit2.Text:=s;
g:=su;
For J:=i to 0 do begin
D:=d*2;
su1:=d;
end;
su:=su1+g;
end;
Edit2.Text:=IntToStr(su);
end;
Перевод из двоичной системы в десятичную.(Delphi 7)
Ну короче нужен код на перевод из 2 СИ в 10 СИ.
i,j,sum,sum2:Integer;
begin
sum:=0;
s:=Edit1.Text;
For i:=Length(s)-1 DownTo 1 Do
Begin
If s='1' Then
Begin
sum2:=1;
For j:=1 To Length(s)-i Do sum2:=sum2*2;
End
Else sum2:=0;
sum:=sum+sum2;
End;
If s[Length(s)]='1' Then Inc(sum);
Edit2.Text:=IntToStr(sum);
end;
вроде работает...
Народ, а какже с дробными числами?
Цитата:
Originally posted by Borland_prog
Народ, а какже с дробными числами?
Народ, а какже с дробными числами?
Ну я так понимаю принцип тот же только счётчик идёт наоборот от меньшего к большему.....или я чё то путаю?:roll:
Цитата:
Originally posted by Borland_prog
Народ, а какже с дробными числами?
Народ, а какже с дробными числами?
Я че-то забыл как с дробными, но помоему CrazyTimon прав
Цитата:
Originally posted by LastSoul
Я че-то забыл как с дробными, но помоему CrazyTimon прав
Я че-то забыл как с дробными, но помоему CrazyTimon прав
Вовсе нет.
При переводе дробной части надо не делить на 2, а умножать.
Поищите по форуму, я уже писал алгоритм (самому искать уже лень - не первый раз здесь эта тема затрагивается).
Ну вот в принципе то ради чего я спрашивал :} (если кому интересно какчните);)
Цитата:
Originally posted by CrazyTimon
Ну вот в принципе то ради чего я спрашивал :} (если кому интересно какчните);)
Ну вот в принципе то ради чего я спрашивал :} (если кому интересно какчните);)
И где здесь реализация перевода дробных чисел?
Еще глюк нашел: если в двоичной введу 1010.1, то в десятичной вернет 41 (как будто я ввел вместо точки нуль).
Цитата:
Originally posted by sp999
И где здесь реализация перевода дробных чисел?
Еще глюк нашел: если в двоичной введу 1010.1, то в десятичной вернет 41 (как будто я ввел вместо точки нуль).
И где здесь реализация перевода дробных чисел?
Еще глюк нашел: если в двоичной введу 1010.1, то в десятичной вернет 41 (как будто я ввел вместо точки нуль).
Всё учёл исправлю.:roll: