IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Деление полиномов, C++ Builder6
18192123
сообщение 28.04.2009 23:52
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Здравствуйте!

Предположим в качестве входных данных имеется двоичная комбинация, каждый разряд хранится в соответствующем элементе массива (char m[7]={0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0).
И будем ассоциировать для себя этот массив с полиномом x^6 + x^5 + x^3.
Будет ещё один фиксированный полином: char g[4]={0x1, 0x0, 0x1, 0x1} (g=x^3 + x + 1).

Задача заключается в делении m на g..Интересует остаток от деления, который в данном примере будет
char r[3]={0x0, 0x0, 0x1} (r = 1).

пример деления я привела в прикреплённом документе..

Затрудняюсь с тем, как это реализовать..объясните пожалуйста!


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 29.04.2009 14:36
Сообщение #2


Гость






Ну, так замени в 23-ей строке той программы, что я привел, вычитание на сложение по модулю 2:

               for (i=0; i<s2; i++) {
*(ptr1+i) ^= del * p2[i]; // <--- Вот так
}
и получишь частное = 1*x^3 + 1*x^2 + 1*x + 1, и остаток = + 1
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 25.07.2025 17:05
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"