Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2010, 20:34   #1
ProgDel
Пользователь
 
Аватар для ProgDel
 
Регистрация: 15.02.2010
Сообщений: 67
По умолчанию Перевод десятичные числа в двоичные

Парни, я тут написал программу, которая переводит десятичные числа в двоичные, но вот программу которая будет делать наоборот написать немогу. Если интересно, то вот код моей программы
Код:
function KDN2(Op_1: integer):integer;
var f: integer;
begin
for f := 0 to Op_1 do begin
if (f mod 2 = 0) or (f mod 2 <> 0) then inc(c);
KDN2 := c;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
label 1;
begin
Button1.Enabled := false;
if edit1.Text = '' then exit;

Yu := KDN2(strtoint(edit1.Text));

Opr := strtoint(Edit1.Text);

1:if Opr < 1 then exit;

for h := yu downto 0 do begin

if Opr >= 1 then begin

res := opr mod 2;

if res = 0 then begin
label1.Caption := '0' + label1.Caption;
Res2 := opr / 2;
opr := trunc(Res2);
goto 1;
end;

if res <> 0 then begin
label1.Caption := '1' + label1.Caption;
Res2 := opr / 2;
opr := trunc(Res2);
goto 1;
end;

end;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.Clear;
Res := 0;
Res2 := 0;
yu := 0;
h := 0;
opr := 0;
KDN2(0);
label1.Caption := '';
Button1.Enabled := true;
end;

procedure TForm1.Press(Sender: TObject; var Key: Char);
begin
case key of
'0'..'9':;
#8:;
else key := chr(0);
end;
end;

end.

Последний раз редактировалось ProgDel; 15.02.2010 в 21:41.
ProgDel вне форума Ответить с цитированием
Старый 15.02.2010, 21:25   #2
maxflint
работаю за еду
Пользователь
 
Аватар для maxflint
 
Регистрация: 31.10.2009
Сообщений: 64
По умолчанию

Цитата:
Сообщение от ProgDel Посмотреть сообщение
Парни, я тут написал программу, которая переводит десятичные числа в двоичные, но вот программу которая будет делать наоборот написать немогу. Если интересно, то вот код моей программы
друг, не используй метки...

По задаче: если ты знаешь как переводить из двоичной в десятичную... то это не должно составить проблему...
берёшь строку st=101011 и просматриваешь её с конца
берёшь самую правую цифру и в результат заносишь res=res + 1*(2^0),
далее единицу удаляешь: st=10101
опять берёшь самую правую цифру и в результат заносишь res=res + 1*(2^1), (два уже в степени 1)
и так далее пока в строке есть что нить ещё...


ЗЫ если не получится, то напишу код позже...
Вотан ждёт меня в своих чертогах, на свой вечный пир!

Последний раз редактировалось maxflint; 15.02.2010 в 21:30. Причина: res=res+...
maxflint вне форума Ответить с цитированием
Старый 15.02.2010, 23:15   #3
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Куча примеров в поиске. Из двоичной в десятичную
Код:
var
  s: string;
  x, i: integer;
begin
  s := '0010';
  x := 0;
  for i := 1 to length(s) do
    x := x * 2 + strtoint(s[i]);
  write(x);
  readln
end.
Заменяем 2 на 3 - будет из троичной... и так до 9
Можно ещё тут глянуть, там до 200-ричной системы ))
eoln вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двоичные числа systemmind Общие вопросы C/C++ 2 28.10.2009 15:06
В каком виде обрабатывать двоичные числа? x8i Общие вопросы C/C++ 2 17.05.2009 15:12
Простые числа как двоичные палиндромы Sasha_Smirnov Microsoft Office Word 2 30.12.2008 01:11
Представить двоичные числа в обратном и дополнительном кодах Бубликова Помощь студентам 12 08.12.2008 21:17
Двоичные и шестнадцатеричные числа Rembo Помощь студентам 9 13.11.2007 19:08