Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Noob77
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 23
#1

Умножение двух длинных чисел - C++

14.04.2014, 11:42. Просмотров 1727. Ответов 2
Метки нет (Все метки)

Приветствую, помогите исправить процедуру умножения двух длинных чисел:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void CALL_TYPE  Multiply(unsigned char *u,int N, unsigned char *v,int M,unsigned char* W)
{ // U и V умножаемые числа
    char k = 0;
    long b = 256,temp_word;
    for( int j=M-1;j>=0;j--)
        if(!(v[j]==0))
        {
            k=0;// i= N-1;
            for(int i=N-1; i>=0;i--)
            {
                temp_word=W[i+j+1]+u[i]*v[j]+k;
                W[i+j+1]=temp_word % b; // берем младший байт слова
                k = temp_word/b;// получаем старший байт
                
            }
            W[j]=k;
        }
}
Работает но не всегда, например FFFFFF * FF = EEEFEFF01
А в других случаях работает..непойму где ошибка?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2014, 11:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Умножение двух длинных чисел (C++):

Длинная арифметика. Умножение двух длинных чисел. - C++
Есть 2 числа, храняющиеся в int векторах, нужна функция, которая возвращает их произведение также в виде вектора. Либо простой и понятно...

Длинная арифметика: умножение двух длинных чисел - C++
Всем привет! Снова к Вам за помощью. Алгоритм умножения двух длинных чисел: void...

Умножение длинных чисел - C++
Найти произведение двух длинных чисел(целые числа, десятичная запись которых может содержать до 255 цифр). Нужно решить при помощи функций,...

Умножение длинных чисел - C++
не работает процедура умножения длинных чисел. переводил с паскаля по книге Окулова "Программирование в алгоритмах". вроде все верно...

Умножение длинных чисел - C++
Доброго времени суток дорогие брограммисты. Сейчас занимаюсь с длинной арифметикой по книге, автор которой к сожалению предоставил...

Быстрое умножение длинных чисел. - C++
В общем вопрос стоит так: где можно найти красивый код на агоритм Карацубы. В часности -...

2
palva
2648 / 1875 / 274
Регистрация: 08.06.2007
Сообщений: 7,193
Записей в блоге: 4
14.04.2014, 14:01 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Почему смешиваете знаковые и беззнаковые переменные? Поставьте unsigned char, unsigned long
Сам алгоритм неправильный. Может получиться, что k>256. Нужно вводить еще один цикл. Перенос в одном разряде может вызвать перенос в более старшем разряде и т. д. до самого старшего.
1
Noob77
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 23
15.04.2014, 10:19  [ТС] #3
Точно) Добавил unsigned и все заработало!)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2014, 10:19
Привет! Вот еще темы с ответами:

Умножение длинных чисел с фиксированной запятой - C++
#include "StdAfx.h" #include "conio.h" #include <iostream> #include <vector> #include <iomanip> #include <string> #include...

Умножение/деление длинных целых чисел из строк - C++
у кого есть код 'умножение и деление целых чисел из строк'? заранее спасибо Добавлено через 32 минуты или библиотека и функции

Сделать сложение, вычитание, умножение и деление длинных чисел - C++
В общем, задача такая, что надо сделать сложение, вычитание, умножение и деление длинных чисел. Сумму сделал, с вычитанием какая-то засада....

Умножение длинных целых 11-ричных чисел в виде строк - C++
Доброго времени суток. Если кому приходилось сталкиваться с умножением двух длинных целых чисел (неважно какая система счисления),...


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

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

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