Перейти к содержанию

Сложение двоичных чисел (помогите в коде программы)


Рекомендуемые сообщения

Опубликовано

Программа написана на delphi, она складывает два двоичных числа, но почему то в ответе выводятся либо одни нули, либо единицы, помогите разобраться.... пожалуйста, что не так?!

procedure TForm1.BitBtn5Click(Sender: TObject);

var memory, i, j, k: integer;

s1, s2, s3: string;

begin

s1:=edit1.Text;

s2:=edit2.Text;

s3:=edit3.Text;

memory:=0;

for i:=length(s3)downto 0 do

for j:=length(s2) downto 0 do

for k:=length(s1) downto 0 do

begin

if (memory=1)then

if(s1[k]='1') and (s2[j]='1') then

begin

s3:='1';

memory:=1;

end;

if(s1[k]='1') and (s2[j]='0') then

begin

s3:='1';

memory:=0;

end;

if(s1[k]='0') and (s2[j]='1') then

begin

s3:='1';

memory:=0;

end;

if(s1[k]='0') and (s2[j]='0') then

begin

s3:='1';

memory:=0;

end

else

begin

if(s1[k]='1') and (s2[j]='1') then

begin

s3:='0';

memory:=1;

end;

if(s1[k]='1') and (s2[j]='0') then

begin

s3:='1';

memory:=0;

end;

if(s1[k]='0') and (s2[j]='1') then

begin

s3:='1';

memory:=0;

end;

if(s1[k]='0') and (s2[j]='0') then

begin

s3:='0';

memory:=0;

end;

end;

end;

edit3.Text:=s3;

end;

Опубликовано

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

Ошибка там где слаживиаются 0+0(два нуля) и цикл по-моему должен быть один

Опубликовано

хз почему 5 знаков.

Возможно на форме стоит в параметре поля размер 5 знаков.

s3:=edit3.Text; - это в начале убрать, сюда записывается только результат. Может быть уберется проблема с 5 знаками

Цикл при сложении должен быть один. Сложение происходит по разрядам с последних цифр до первой.

И еще посмотрите спойлер в моем первом сообщении

  • 2 недели спустя...

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...