Diskuse:Cyklický redundantní součet

Z Wikipedie, otevřené encyklopedie
Skočit na navigaci Skočit na vyhledávání

Návrh na rozdělení článku[editovat zdroj]

Co se týče matematiky CRC, je to tady pěkně zpracované, s praktickou použitelností článku je to horší. Existuje hodně implementačních možností a bez popisu o co jde se v tom dá krásně ztratit. Pěkně zpracované je to na anglické wiki, kde je to rozděleno do několika článků, cenná je tabulka průmyslově používaných kontrolních polynomů. Bylo by dobré rozdělit to i tady, protože CRC je hodně praktická záležitost. Chybí tady algoritmy, polynomy a zapojení, na základě kterých by si to mohl člověk sám naprogramovat nebo zapojit a verifikovat. Vlastně tu chybí ten hlavní "encyklopedický" článek psaný lidskou řečí, kde by byla omáčka kolem toho, proč a jak se crc používá, že má softwarové a hardwarové implementace, jakou má historii, odkaz na jiné hashe a kontrolní součty atp. Takže bych to viděl na tři články:

  • Matematika CRC (to je v podstatě těžiště současného článku)
  • CRC (obecný článek o co jde a jak se to používá s odkazy na matematiku a implementaci)
  • Implementace CRC (hw zapojení a algoritmy v použitelné formě)

Samozřejmě vím, že mohu editovat s odvahou, jen mi řekněte kde na to vzít čas? :) --Pteryx (diskuse) 9. 10. 2013, 10:22 (UTC)

ext.odk.[editovat zdroj]

odlozim si tady nekolik odkazu, nez je preberu [1] [2] [3] [4] [5] --Jx 29. 11. 2010, 06:49 (UTC)

Prosba o vysvětlení[editovat zdroj]

Mohu poprosit, aby nekdo vysvětlil tvrzení:

(x^5+x^2+1)+(x^5+x^4+x+1)=2x^5+x^4+x^2+x+2=x^4+x^2+x

Preci když sečtu: 100101 a 110011, tak dostanu 1011000, tedy 2x⁵=x⁶? Navic ta rovnice plati jen za predpokladu, ze x=1, což taky neni zcela jasne receno.

diky

Xerostomus (diskuse) 10. 4. 2020, 09:52 (CEST)Odpovědět[odpovědět]

@Xerostomus: Vtip je asi v tom, že ten „součet“ je „exkluzivní“ (viz první sekce po úvodu). Zdraví, —Mykhal (diskuse) 10. 4. 2020, 12:49 (CEST)Odpovědět[odpovědět]

Děkuji za náznak odpovědi, ale nevím, jestli Vám rozumím. XOR těch dvou bytu chápu, ale nechápu, jak může SOUČET polynomů být ekvivalentní s XOR bytů, když každé dospívá k jinému výsledku. To je nějaké jinak definované "sčítání"? Tam je nějak moc nevyřčených předpokladů. To bych potřeboval vysvětlit.

Je to jinak definované sčítání, 1+1=0 , 0+0=0,1+0=1, 0+1=1 . Paul E (diskuse) 10. 4. 2020, 21:15 (CEST)Odpovědět[odpovědět]

Aha, uz to zacinam zlehka chápat. To, co pišete je jiny zapis a definice XOR, ale u tech polynomu to divne scitani je to dáno tím, že koeficienty musíte prohnat funkcí MODULO 2 či, tedy zbytek po deleni dvema. To je zmineno az o par odstavcu dale a tim vznika ta ekvivalence XOR s polynomem. Zkusim to tam zminit, aby to bylo jasnejsi.

Tusim, ze ten problem bude v definici tělesa GF(2^n), která tam není a která předpokládám dělá to modulo 2 tak nějak automaticky, ale to bude asi už dost složitá matematika.

Proč vlastně se převádí bity na polynom a zpět, když v počítači mám XOR už v assembleru, tak proč řešíme polynomy?

Diky za pomoc a sorry za naivni dotazy - nejsem ani IT ani matematik. :-)

Xerostomus (diskuse) 13. 4. 2020, 06:45 (CEST)Odpovědět[odpovědět]

Ano, v konečném tělese jsou prvky obvykle reprezentovány jako formální mnohočleny, v případě těles s dvojkovou charakteristikou se s koeficienty počítá modulo 2. Ta abstrakce s polynomy se používá hlavně proto, že to je tradiční nástroj, s kterým jsou matematici zvyklí pracovat a mají pro ně vybudované pochopení a aparát. --Tchoř (diskuse) 13. 4. 2020, 11:28 (CEST)Odpovědět[odpovědět]

MSB a LSB[editovat zdroj]

Vážení pánové,

mám pocit, ale opravte mě, pokud se mýlím, že v tom příkladu je špatně intepretován MSB a LSB. Já to znám jen z MIDI, kde mělo smysl převádět 16 čísla na dva byty. Pak se někdy posílal LSB první a MSB jako druhy, ale vždy to byly celé byty a ne bity. (16bitová čísla po 8bitovém sériovém přenosu se krájela na půlky, takže první se paradoxně odeslal LSByte a pak MSByte). To znamená, že v čísle 0101 0111 (0x57) by se přehodila spíš celá čtyřčíslí, celé půlbyty: 0111 0101. Nikdy jsem neviděl, že by se obracely bity podle signifikance: 10101110, jak to uvádí příklad v tomto článku.

Jinými slovy ten příklad je logicky správně, ale zcela mimo počítačovou praxi. Chápu to správně?

Xerostomus (diskuse) 13. 4. 2020, 08:14 (CEST)Odpovědět[odpovědět]

Ono to "B" v MSB/LSB muze znamenat jak bit tak bajt. A pak si vyber, v clanku to jsou evidentne bity. (U bajtu se zase nekdy mluvi o malych a velkych indianech.) U CRC jsem teda taky snad zatim vzdy videl, ze MSB bylo prvni. (Ale treba po RS232 se prvni posila LSB.) --Jx (diskuse) 17. 10. 2021, 15:06 (CEST)Odpovědět[odpovědět]