Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/40: Рейтинг темы: голосов - 40, средняя оценка - 4.83
SX13
0 / 0 / 0
Регистрация: 07.11.2009
Сообщений: 4
1

Сложение вычитание в двоичном дополнительном коде

07.11.2009, 09:15. Просмотров 7795. Ответов 11
Метки нет (Все метки)

Люди помогите плизззззз.Мне нужна прога на паскале.Тема:Сложение вычитание в двоичном дополнительном коде.Помоги кто может!!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2009, 09:15
Ответы с готовыми решениями:

Сложение и вычитание двух целых чисел в дополнительном коде
Составьте программу представления в двоичном виде (ввод и вывод в виде 8 нулей и единиц для каждого...

Умножение двоичных чисел в дополнительном коде
Нужно написать программу для умножения двоичных чисел в дополнительном коде, чтобы каждое действие...

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

Сложение и вычитание отрицательных чисел
Помогите написать программу. Обучающе-контролирующая задача «Сложение и вычитание отрицательных...

Перевести числа из шестнадцатеричной записи в семеричную в обратном или дополнительном коде
Помогите пожалуйста..Уже несколько дней сижу и ничего не выходит..:wall: Исходный файл содержит...

11
кот Бегемот
Платежеспособный зверь
8609 / 4023 / 1572
Регистрация: 28.10.2009
Сообщений: 10,550
07.11.2009, 10:12 2
формат чисел: целые, вещественные? длина числа?
1
SX13
0 / 0 / 0
Регистрация: 07.11.2009
Сообщений: 4
07.11.2009, 18:08  [ТС] 3
Спасибо Друг что откликнулся!!!Формат целые.Длины ну 16 если можно!!Огромное спасибо
0
Inadequate
Retired
7715 / 2547 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 18:17 4
Сложение вычитание в двоичном дополнительном коде
это как? поясните...
0
07.11.2009, 18:17
SX13
0 / 0 / 0
Регистрация: 07.11.2009
Сообщений: 4
07.11.2009, 18:23  [ТС] 5
Цитата Сообщение от Inadequate Посмотреть сообщение
это как? поясните...
Короче прога чтобы эти действия выполняла.
0
Inadequate
Retired
7715 / 2547 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 18:31 6
SX13, браво...

Добавлено через 1 минуту
я догадался что нужна программа которая выполняет какие то действия... я у вас спрашивал что значит
в двоичном дополнительном коде
0
Snoopy
1913 / 1063 / 383
Регистрация: 06.12.2008
Сообщений: 2,802
07.11.2009, 18:40 7
может быть в двоичной системе счисления?
0
flambo
28 / 28 / 7
Регистрация: 03.10.2009
Сообщений: 122
07.11.2009, 18:42 8
я предполагаю, что программа должна использовать "дополнительный" (дополняющий) код при вычитании...
хотя, автор, все-таки сформулируйте нужное вам задание в соответствующей форме..!
1
Inadequate
Retired
7715 / 2547 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 18:47 9
Snoopy, я тоже об этом подумал но автор почему то молчит...

Добавлено через 3 минуты
использовать "дополнительный" (дополняющий) код
flambo, это как поясните пожалуйста...
0
flambo
28 / 28 / 7
Регистрация: 03.10.2009
Сообщений: 122
07.11.2009, 20:11 10
Цитата Сообщение от Inadequate Посмотреть сообщение
Snoopy, я тоже об этом подумал но автор почему то молчит...

Добавлено через 3 минуты

flambo, это как поясните пожалуйста...
в двоичной системе счисления нет операции вычитания, она заменяется на операцию прибавления с использованием обратного или дополняющего кода..
0
maladoy
113 / 85 / 56
Регистрация: 09.01.2009
Сообщений: 209
07.11.2009, 20:12 11
вот вам сложение
Код
function BinAdd(s1,s2:string):string;
var s:string; l,i,d,carry:byte;
begin
    {выравнивание строк по длине}
    if length(s1) > length(s2) then while length(s2) < length(s1) do s2:='0'+s2
                             else while length(s1) < l ength(s2) do s1:='0'+s1;
    l:=length(s1);
    s:=''; carry:=0;
    for i:=l downto 1 do begin
       d := (ord(s1[i])-ord('0')) + (ord(s2[i])-ord('0')) + carry;
       carry := d div 2;
       d:=d mod 2;
       s:=char(d+ord('0')) + s;
    end;
    if carry <> 0 then s:='1'+s;
    BinAdd:=s;
end;
а вот вычитание
Код
{ вычитание двоичных строк, первое число должно быть >= второго }
function BinSub(s1,s2:string):string;
var s:string; l,i,j:byte;
begin
    {выравнивание строк по длине}
    if length(s1) > length(s2) then while length(s2) < length(s1) do s2:='0'+s2
                             else while length(s1) < length(s2) do s1:='0'+s1;

    l:=length(s1); {начало алгоритма вычитания}
    s:='';
    for i:=l downto 1 do begin
       case s1[i] of
        '1': if s2[i]='0' then s:='1'+s else s:='0'+s;
        '0': if s2[i]='0' then s:='0'+s else begin
                s:='1'+s;
                if (s1[i-1]='1') then s1[i-1]:='0' else begin
                   j:=1;
                   while (i-j > 0) and (s1[i-j]='0') do begin
                         s1[i-j]:='1';
                         inc(j);
                   end;
                   s1[i-j]:='0';
                end;
             end;
       end;
    end;
    {Уничтожение передних нолей}
    while (length(s) > 1) and (s[1]='0') do delete(s,1,1);
    BinSub:=s;
end;
2
SX13
0 / 0 / 0
Регистрация: 07.11.2009
Сообщений: 4
07.11.2009, 23:37  [ТС] 12
Ну там есть же дополнительные обратные коды,вот мне надо в дополнительном.

Добавлено через 3 минуты
Спасибо Друг!!!!!!
0
07.11.2009, 23:37
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2009, 23:37

Сложение, вычитание, умножение и деление комплексных чисел
Помогите пожалуйста составить требуемые подпрограммы работы с комплексными числами(сложение,...

Переписать числа в выходной файл в двоичном коде
1.Ввести масив записів, який містить призвіще та екзаменаційні оцінки. Створити новий масив, що...

Создать модуль в котором определены процедуры над матрицами 3x3:сложение и вычитание
unit matr; interface matrix:array of integer; procedure Add(a,b:matrix;var c:matrx); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.