Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

c++ koder/dekoder w oparciu o wielomian generujący

Ostatnio zmodyfikowano 2015-05-17 19:29
Autor Wiadomość
tytrydsdf
Temat założony przez niniejszego użytkownika
c++ koder/dekoder w oparciu o wielomian generujący
» 2015-05-16 21:12:36
Hej, chcę napisać program. Mam z góry narzucone już parametry kodu (czyli ilość bitów informacyjnych oraz nadmiarowych) oraz wielomian generujący. Użytkownik będzie z klawiatury podawał ciąg binarny o określonej długości a program zakoduje ten ciąg binarny mnożąc go o wielomian generujący. Następnie również w oparciu o wielomian generujący ciąg ten będzie dekodowany do postaci pierwotnej.

Dodatkowo po zakodowaniu ciągu chciałbym wygenerować 2 przekłamania bitów i dodać do zakodowanej postaci aby dekoder skorygował błąd.

W jakiej formie powinienem przechowywać dane w programie aby najsprawniej wykonwywać operacje. Generalnie widzę dwa wyjścia że albo wszystko robić na słowach binarnych 0,1 albo na odpowiadającym im wielomianach. Tylko jak to zrealizować w praktyce. W jakich zmiennych to trzymać aby najprociej było wykonywać operacje typu na początku pobranie od użytkownika ciągu binarnego a następnie wykonywanie tych wszystkich operacji na bitach.
P-132369
pekfos
» 2015-05-16 21:16:00
Jakich operacji? W bibliotece standardowej masz std::bitset i std::vector<bool>.
P-132371
tytrydsdf
Temat założony przez niniejszego użytkownika
» 2015-05-16 21:20:49
no pewnie wszystkich podstawowych typu dodawanie modulo 2, mnożenie , dzielenie
P-132373
tytrydsdf
Temat założony przez niniejszego użytkownika
» 2015-05-17 04:37:15
te klasy chyba nie umożliwiają robienia tego co chcę. Będę mógł stworzyć wektor takich liczb ale chyba te klasy nie mają przeciążonych operatorów działań arytmetycznych i bym je musiał samemu pisać. Czy nie ma czegoś z STLa albo boosta co mi da takie możliwości?
P-132378
Piastlis
» 2015-05-17 10:03:43
Jeżeli bitów niewiele to po prostu stablicuj co się da.Najszybszy algorytm to "skorzystaj z gotowca".
P-132379
tytrydsdf
Temat założony przez niniejszego użytkownika
» 2015-05-17 17:26:56
mam dwa pojemniki typu deque<bool> oba tego samego rozmiaru

a w każdym nich ciąg zer i jedynek np
0000000011110111110111
0000000000000001011111

i teraz chciałbym dokonać mnożenia i aby wynik znalazł w trzecim pojemniku, też o tej samej długości, a liczby są takie że nigdy wynik mnożenia nie będzie wykraczał poza zakres więc nie trzeba się tym martwić że się nie zmieści.
P-132407
Piastlis
» 2015-05-17 19:29:43
Chwilkę.Pogubiłem się.Zmienna na której pracujesz ma 22 bity.Czyli MAX to  4194304... Nie rozumiem w czym problem...Nawet podniesiona do kwadratu mieści się w long long...
P-132412
« 1 »
  Strona 1 z 1