Срочно нужна программка

  • Автор темы laguna
  • Дата начала
Статус
Закрыто для дальнейших ответов.
L

laguna

#1
:) Помогите написать програмку в С++, которая вычисляла бы сумму чисел A и B длины n (т,е, цифр двоичное представление которых имеет больше разрядов, чем используется для представления целых чисел) цифр, при этом помимо n-значного результата возращала также бит переноса из старших разрядов d

Алгоритм сложения реализируется функцией:

DIGIT Add(
DIGIT C[], /* результат*/
const DIGIT A[], /*слагаемое*/
const DIGIT B[], /*слагаемое*/
int n) /*длина*/
{TWODIGIT T;
DIGIT d=0;
int i;
for (i=0;i<n;i++)
{
T=(TWODIGIT) A+B+d;
C=LODIGIT(T);
d=HIDIGIT(T);
}
return d;
}

DIGIT базовый тип данных
здесь Т число длины 2m битов (TWODIGIT),
d число длины m битов (DIGIT), используемое для хранения бита переноса разряда
LODIGIT(T) число типа DIGIT состоящее из младших m разрядов
HIDIGIT(T) число типа DIGIT состоящее из старших m разрядов
 
Статус
Закрыто для дальнейших ответов.