![]() |
POLITECHNIKA POZNAŃSKA Wydział Maszyn Roboczych i Transportu |
![]() |
SYSTEMY INFORMACYJNO-INFORMATYCZNE W TRANSPORCIE II | ||
Wykonawca: | Data wykonania ćwiczenia: | Prowadzący: |
Paulina Tomaszek | 11.06.15 | dr inż. Waldemar Walerjańczyk |
Grupa, Semestr: | Data oddania: | Ocena: |
Logistyka Transportu Semestr 6 |
18.06.15 |
Cel ćwiczenia
Celem ćwiczenia jest utrwalenie wiedzy o sposobach zapisu informacji, budowie bajtu, umiejętności operowania danymi w różnych notacjach (dwójkowej, szesnastkowej i dziesiętnej) i konwersji między nimi. Zaproponowany zostanie jeden z możliwych sposobów odczytu danych w postaci binarnej (bez ich interpretacji przez oprogramowanie systemowe lub narzędziowe) przy pomocy programu TotalCommander. Dodatkowo student zapozna się z jednym z najstarszych (a przy okazji najprostszych) formatów zapisu obrazu, jakim jest format BMP.
Opis analitycznej metody konwersji liczb z systemu szesnastkowego do dziesiętnego dla wszystkich elementów z nagłówka.
W systemie szesnastkowym wyróżniamy szesnaście cyfr: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
Liczby zapisujemy jako ciągi cyfr, z których każda jest mnożną potęgi liczby 16.
ai−1ai−2…a2a1a0=ai−1⋅16i−1+ai−2⋅16i−2+…+a2⋅162+a1⋅161+a0⋅160.
Zadaniem naszym było odczytanie pliku o formacie BMP w programie Total Commander. Dzięki temu uzyskaliśmy dostęp do własności opisujących dany format i jego zawartość.
Plik odczytany w systemie hexadecymalnym ukazuje w każdej linii 16 kolejnych bajtów. Każde kolejne położenie informowało nas o czym innym. Mianowicie:
1 | 42 4D | 4D 42 | BM | Identyfikator |
---|---|---|---|---|
2 | E6 1E 04 00 | 00 04 1E E6 | 270054 | Rozmiar |
3 | 00 00 00 00 | 00 00 00 00 | 0 | Zarezerwowane (=nieistotne) |
4 | 36 00 00 00 | 00 00 00 36 | 54 | Przesunięcie początku danych graficznych |
5 | 28 00 00 00 | 00 00 00 28 | 40 | Ile bajtów od tego miejsca do końca nagłówka |
6 | 2C 01 00 00 | 00 00 01 2C | 300 | Szerokość obrazu |
7 | 2C 01 00 00 | 00 00 01 2C | 300 | Wysokość obrazu |
8 | 01 00 | 00 01 | 1 | Liczba bit planów – głębia w bitach |
9 | 18 00 | 00 18 | 24 | Ilość bitów opisujących pojedynczy piksel obrazu |
10 | 00 00 00 00 | 00 00 00 00 | 0 | Nie skompresowany |
11 | B0 1E 04 00 | 00 04 1E B0 | 270000 | Rozmiar obrazu w bajtach |
12 | C4 0E 00 00 | 00 00 0E C4 | 3780 | Ilość X pikseli na metr |
13 | C4 0E 00 00 | 00 00 0E C4 | 3780 | Ilość Y pikseli na metr |
14 | 00 00 00 00 | 00 00 00 00 | 0 | Ilość kolorów istniejącej palety |
15 | 00 00 00 00 | 00 00 00 00 | 0 | Ilość najważniejszych kolorów w palecie |
Przykładowe obliczenia:
00 04 1E E6 = 4*164 + 1*163 + 14*162 + 14*161 + 6*160 = 270054
Zweryfikowanie poprawności odczytanych danych opis metod weryfikacji zastosowanych do odczytanych informacji oraz wzajemne relacje między odczytanymi informacjami
Informacje uzyskane za pomocą odczytu pliku w programie TotalCommader zweryfikowałam odczytując je z własności danego obrazka:
Pierwsze trzy zależności można odczytać bezpośrednio z okna dialogowego.
Zależność 4. można zweryfikować poprzez zsumowanie wszystkich poprzednich ilości bitów, które określają informację.
Zależność 5. po zsumowaniu wartości wynosi 40 i określa ile bitów zostało do końca nagłówka.
Zależności 6 i 7 odczytujemy bezpośrednio z okna dialogowego
Zależność 11 powstaje poprzez pomnożenie wartości z zależności 6, 7, 9, następnie wynik mnożymy przez 3 (3 dlatego że dzielimy głębie w bitach dzielonych przez 8, by uzyskać wartość w bajtach)
Zależności 12 i 13 są powiązane z wymiarami obrazka
Zależności 14 i 15 musimy odczytać z własnej posiadanej wiedzy. Mianowicie w pliku dostępna jest maksymalna dopuszczalna ilość kolorów gdy wartość odczytana wynosi 0. Tak samo w stosunku do ilości najważniejszych kolorów, jeżeli uzyskamy wartość 0, to uzyskaliśmy poprawny wynik.
Uwagi
Porównanie tych zależności zajmuje nam trochę czasu. Jednak dzięki temu możemy zauważyć różnice od tego jak plik powinien wyglądać, a jak rzeczywiście odczytuje go komputer. Jakiekolwiek różnice w rozmiarach mogą świadczyć o błędach w zapisie pliku bądź jego zawirusowaniu.