diff --git a/03-CRC.md b/03-CRC.md index d58c494..6b4bb7c 100644 --- a/03-CRC.md +++ b/03-CRC.md @@ -4,10 +4,12 @@ Napisać program, który dla wiadomości `M` w formie tekstowej ASCII (tj. `8` b 1. utworzy FCS (*Frame Check Sequence*) długości `16` bitów zgodnie z algorytmem **D-1.1**; - INPUT: `M` - tablica znaków ASCII długości `n-2`; - - OUTPUT: `N` - tablica znaków ASCII długości `n`, która zawiera oryginalną wiadomość `M` na pierwszych `n-2` miejscach, zaś ostatnie zawierają FCS interpretowanymi jako dwa znaki (po 8 bitów każdy). + - OUTPUT: `N` - tablica 8-bitowych liczb (`unsigned char`) długości `n`, która zawiera oryginalną wiadomość `M` na pierwszych `n-2` miejscach, zaś ostatnie dwa zawierają FCS. 2. pozwoli sprawdzić, czy dana ramka (tj. wiadomość + FCS) zawiera poprawną treść (zgodnie z **D-1.2**; - - INPUT: `N` - tablica znaków ASCII długości `n` - - OUTPUT: `true` jeśli dwa ostatnie znaki `N` odpowiadają FCS wiadomości `M = N[0:n-2]`, `false` w przeciwnym wypadku; + - INPUT: `N` - tablica 8-bitowych liczb (`unsigned char`) długości `n` (np. w formacie hex) + - OUTPUT: `true` jeśli dwie ostatnie liczby tablicy `N` odpowiadają FCS wiadomości `M = N[0:n-2]` (interpretowanej jako tablica typu `char`), `false` w przeciwnym wypadku; + +UWAGA: Program w punkcie **2** powinien być w stanie zweryfikować output z punktu **1**! Źródło: [Report: Telemetry Summary of Concept and Rationale](http://mtc-m16c.sid.inpe.br/col/sid.inpe.br/mtc-m18@80/2009/07.15.17.25/doc/CCSDS%20100.0-G-1.pdf), CCSDS 100.0-G-1 Report Concerning Space.