Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу для вычисления ряда http://www.cyberforum.ru/cpp-beginners/thread1147847.html
Не очень понимаю как вычислять подобные ряды. Подскажите пожалуйста может есть какой то общий алгоритм?
C++ Применить формулу к каждому элементу матрицы Даны 3 целых числа,получить b матрицу элементы которого равны b=a(i)-3*a(j); #include <iostream> using namespace std; void main() { int a,b,i,j;//тут вместо трех чисел использовал массив; cout<<"nermucel 3 tiv:\n"; for(i=0;i<n;i++) cin>>a; http://www.cyberforum.ru/cpp-beginners/thread1147813.html
C++ Дано целое число n. Найти количество и сумму цифр
Дано целое число n. (1<n<=10^9). Найти кол-во и сумму цифр.
C++ Ошибка при запуске dll на Win Xp X64
Уважаемые форумчане подскажите пожалуйста.Скомпилировал длл в вижуал студио 2012 на Win8 работает без проблем,стоит задача запустить её на Win Xp X64...При запуске выбивет вот такую ошибку http://pikucha.ru/icWJ8
C++ Разборка с class Person http://www.cyberforum.ru/cpp-beginners/thread1147749.html
#include <iostream> using namespace std; class person { int age; string name; void print()
C++ Изменение порядка строк Помогите составить программу для изменения порядка строк в C++ для реализации в Linux int filikx (char*sF1, char*sF2) { FILE *F1, *F2; int i; F1=fopen (sF1,"r"); if (F1==NULL) return 1; F2=fopen (sF2, "w"); if (F2==NULL) return 1; char *B, u; for (i=0; i<1000; i++) подробнее

Показать сообщение отдельно
Noob77
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 23
14.04.2014, 11:42     Умножение двух длинных чисел
Приветствую, помогите исправить процедуру умножения двух длинных чисел:
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
А в других случаях работает..непойму где ошибка?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru