Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Pascal
Перезагрузить страницу Сложение чисел на двоичном сумматоре
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Wizzard Wizzard вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.01.2008
По умолчанию 13.01.2008, 22:33

Народ посьба помочь решить задачу по сложению чисел в двоичном сумматоре обратного кода, пробовал сам но в некоторых случаях, не выводит переполнение например 0.1111+0.0001
Код:
Program algorithm2;
var
x,y:real;
m,n:array [1..5] of byte;
i,s,p:byte;
begin
writeln ('BBeDuTe x,y');
readln(x);
readln(y);
p:=0;
for i:=1 to 5 do
 begin
  m[i]:=trunc(x);
  n[i]:=trunc(y);
  x:=(x-m[i])*10;
  y:=(y-n[i])*10;
 end;
for i:=5 downto 2 do
 begin
  s:=m[i]+n[i];
  if s=3 then
     begin
      m[i]:=1;
      m[i-1]:=m[i-1]+1;
     end
  else
     begin
      if s=2 then
       begin
        m[i]:=0;
        m[i-1]:=m[i-1]+1;
      end;
     end;
  end;
writeln;
if ((s=1)or(s=0)) and (n[1]<>1) then writeln ('/7ePe/7oJIHeHue He proizoLLIJIo’)
                                else
                                 begin
                                  writeln('/7epe/7oJIHeHue /7pou3oLLIJIo');
                                  p:=1;
                                 end;
if p=1 then
       begin
       if n[1]=1 then write(0,'.')
                 else write(1,'.');
       end;
for i:=2 to 5 do
 begin
  write(m[i]);
 end;
 readln;
end.
Ответить с цитированием
  (#2 (permalink)) Старый
programer4ever programer4ever вне форума
Member
 
Сообщений: 326
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.04.2006
По умолчанию 14.01.2008, 00:56

О_о А дальше?!
Приведи весь код!
Ответить с цитированием
  (#3 (permalink)) Старый
AfIS AfIS вне форума
Member
 
Сообщений: 384
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 08.02.2005
По умолчанию 14.01.2008, 06:03

А что такое 0.1111+0.0001? Это представление целого знакового (типа <знак>.<число>) или вещественного с фиксированной запятой?
Если первое, то преобразовывать через real - это жесть. Куча циклов каких-то. Дело даже не в неработоспособности кода. Просто сложение целых и переполнение при этом - это элементарщина для процессора. В asm-вставке надо писать, проверяя флаги, и без всяких циклов.

Это какое-то задание? Обязательно вводить строку в таком виде, или можно просто числом Integer?
Ответить с цитированием
  (#4 (permalink)) Старый
Wizzard Wizzard вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.01.2008
По умолчанию 14.01.2008, 12:00

4 programer4ever это и есть весь код
4 АfIS я хз, что тут толком, нам сказали сделать программу для сложения чисел в двоичном сумматоре в прямом и обратном коде, в прямом я написал вот, что получилось с обратным
Ответить с цитированием
  (#5 (permalink)) Старый
programer4ever programer4ever вне форума
Member
 
Сообщений: 326
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.04.2006
По умолчанию 14.01.2008, 13:31

Сорри, у мну, наверное браузер глюканул, так как видел я код только до первого цикла... :-(
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Wizzard Wizzard вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.01.2008
По умолчанию 16.01.2008, 15:05

Поможет кто или как? а то сроки поджимают, я хз что делать
Ответить с цитированием
  (#7 (permalink)) Старый
AfIS AfIS вне форума
Member
 
Сообщений: 384
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 08.02.2005
По умолчанию 18.01.2008, 11:43

Я снова про формат ввода. Обязательно вводить 0.1111 - с точкой в двоичном виде. Или вводить ножно просто число типа Integer через Readln в десятичном?
Что такое обратный код? Дополнительный?
Ответить с цитированием
  (#8 (permalink)) Старый
Wizzard Wizzard вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.01.2008
По умолчанию 18.01.2008, 15:34

пишу как помню сумматор в обратном коде имеет цепь поразрядного перехода (с младшего в старший разряд) это точно не помню-и из-за этого походу должно быть переполнение, а число вводить можно и через integer, но одно но надо при вводе числа не в двоичном виде выдать ошибку что мол такое число не возможно
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно разобрать программу для перевода списка арабских чисел в список римских чисел. RuslanTM Prolog 2 18.12.2011 17:04
Сложение двоичных чисел Robomozg Lisp 15 14.12.2011 15:52
Вывод числа на экран в шестнатеричном и двоичном виде alexu C++ Builder 5 30.08.2011 02:01
Из множества целых чисел 1..100 выделить множество чисел, являющихся, в свою очере Tormiz61 Pascal 4 18.06.2011 15:07
Нужен код, который будет сохранять файл в двоичном формате. SimTiko Delphi 9 09.01.2010 00:22
Как написать программу которая определяет сколько единиц содержится в двоичном типе ctrelok174 Вопросы начинающих программистов 2 23.09.2009 11:16
Сложение двух последних чисел списка klif_leopard Lisp 2 13.04.2009 00:02
Сложение двух 50-значных чисел через randomize() altro_via Вопросы начинающих программистов 17 26.12.2007 23:30
Сложение целых десятичных чисел в С и Turbo C++ altro_via Вопросы начинающих программистов 20 26.12.2007 13:38
Сложение 64 битных чисел,умножение, деление Dima2006 C++ Builder 3 22.09.2006 10:03
Как читать-записывать файлы в двоичном виде DENIS451 C++ Builder 6 27.10.2004 23:37
Как прописать код сложение двух комплексных чисел griban Вопросы начинающих программистов 1 06.05.2004 02:36



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов