Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Одноразрядный сумматор

60K
19 июня 2010 года
Wаlter
2 / / 31.05.2010
Всем доброго дня, дано вот такое задание :
Написать и протестировать функцию, моделирующую работу одноразрядного сумматора. Слагаемые имеют длину n разрядов и записаны в дополнительном коде ( формат с фиксированной запятой).
Принята следующая нумерация разрядов n-1.n-2,.....,1,0
Формулы получения i-го разряда суммы и переноса в i+1-й разряд имеют вид:
Si=Ai^Bi^Pi
P[SIZE="1"]i+1[/SIZE]=Ai*Bi+Ai*Pi+Bi*Pi 0,....,n-1; P[SIZE="1"]0[/SIZE]=0
Наряду с суммой должны быть сформированы одноразрядные признаки результатов:
Знак sq=s[SIZE="1"]n-1[/SIZE]
Перенос с=Pn
Переполнение v=Pn*Pn-1+Pn*Pn-1
Выше приняты следующие обозначения операций:
*-логическое умножение
+-логическое сложение
^-сложение по mod2(исключающее или)
_отрицание не
Вобщем запутался я с этим задание, помогите пожалуйсто советом как всё это сделать=)
Зарание спасибо)
1.8K
19 июня 2010 года
LM(AL/M)
332 / / 20.12.2005
Что сложного? Пишешь ф-цию для одного разряда, такого вида:
 
Код:
void sum1([color=gray]/*ВХОД:*/[/color] int a, int b, int p, [color=gray]/*ВЫХОД:*/[/color] int &sum, int &p1)
{
  // a,b -- слагаемые, p -- i-й перенос, p1 -- i+1-й перенос, sum -- сумма
  // [color=blue]TODO:[/color] сделать вычисления по указанным выше формулам
}

Дальше заводишь n-массивы для слагаемых (А,В), суммы (S) и переносов (P) и проходишь по их элементам по порядку вызывая ф-цию sum1:
 
Код:
for (i = 0; i < n; i++)  sum1(A, B, P, S, P[i+1]);
60K
21 июня 2010 года
Wаlter
2 / / 31.05.2010
Извиняюсь конечно, но что-то я всё равно не догоняю:(
1.8K
21 июня 2010 года
LM(AL/M)
332 / / 20.12.2005
а я не догоняю что именно вам не понятно, может поможете мне?
518
08 июля 2010 года
Andreika
101 / / 14.02.2003
Стоп, я может чего-то не понял... Как это "одноразрядный" сумматор?
Сколько разрядов имеет результат сложения? - один что-ли?
5
08 июля 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: Andreika
Стоп, я может чего-то не понял... Как это "одноразрядный" сумматор?
Сколько разрядов имеет результат сложения? - один что-ли?


Один. И бит переноса.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог