Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych Autor artykułu: mgr Jerzy Wałaszek |
©2017 mgr
Jerzy Wałaszek
|
Czym jest informatyka?
Jeśli zapytamy absolwenta gimnazjum o to, czym zajmuje się
informatyka, to najczęściej otrzymamy odpowiedź:
"Jest to nauka o komputerze"
lub
"Jest to nauka o obsłudze komputera"
Pomyślmy przez chwilę. Gdyby komputery odkryto w piramidach egipskich i wcześniej nic o nich nie wiedziano, to zapewne musiałaby powstać jakaś archeologia komputerowa, której celem byłoby badanie tego artefaktu. Tymczasem rzeczywistość jest inna. Komputery nie pojawiły się wśród nas nagle. Są produktem rozwoju cywilizacyjnego, jak samochody, samoloty, satelity. Powstały, ponieważ była taka potrzeba oraz pojawiły się odpowiednie możliwości techniczne ich realizacji. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Zmorą dawnych naukowców było wykonywanie rachunków. Dlatego pojawiły się pierwsze mechaniczne maszyny liczące. Np. znany fizyk Błażej Pascal wymyślił arytmometr mechaniczny, który potrafił dodawać i odejmować (właściwie potrafił tylko dodawać, odejmowanie realizowane było przez dodanie uzupełnienia do podstawy 10), tzw. pascalinę:
Mechaniczny arytmometr Pascala – Pascalina Pascal zbudował tę maszynę dla swojego ojca, który musiał wykonywać mnóstwo rachunków przy zbieraniu podatków. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wraz z rozwojem techniki maszyny liczące stawały się coraz bardziej zaawansowane. Majstersztykiem mechanicznym jest bez wątpienia maszyna analityczna, zaprojektowana przez Charlesa Babbage'a w 1834 roku. Wygląda jak współczesny silnik spalinowy i w pewnym sensie była takim silnikiem, czyli urządzeniem "wspomagającym" liczenie.
Fragment maszyny analitycznej Charlesa Babbage'a Niestety, Babbage'owi nie udało się jej zbudować w całości z braku funduszy, lecz pozostawił po sobie plany, które pozytywnie zweryfikowano i okazało się, że gdyby maszyna analityczna rzeczywiście powstała w 1834, to w erę komputerów ludzkość weszłaby o 100 lat wcześniej.
Ciekawostką jest, iż Babbage przyjaźnił się z matematyczką Adą Lovelace, która zachwyciła się pomysłem budowy maszyny analitycznej i wydała na jej temat kilka publikacji. Znalazły się w nich opisy algorytmów, zatem Adę Lovelace uznajemy za pierwszą programistkę komputerów. Na jej cześć nazwano język programowania ADA (popularny w latach 70-tych w USA). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pierwszy komputer mechaniczny, który działał na tej samej zasadzie co dzisiejsze komputery, zbudował w 1936 roku niemiecki inżynier Konrad Zuse, który jest współcześnie uznawany za ojca komputerów. Komputer nosił nazwę Z1 i pracował w systemie binarnym jak współczesne komputery.
Rekonstrukcja komputera Z1 wykonana przez Konrada Zuse przy współpracy z firmą Siemens AG Przeznaczeniem komputera Z1 było odciążenie inżynierów od wykonywania żmudnych rachunków przy projektowaniu różnych konstrukcji. Więcej na ten temat znajdziesz w naszym serwisie w dwóch artykułach: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wybucha II Wojna Światowa. Nazistowskie Niemcy używają do szyfrowania komunikatów specjalnych maszyn szyfrujących Enigma oraz Ultra. Do łamania ich szyfrów w Anglii w tajnym ośrodku w Bletchley Park zostają zbudowane komputery elektroniczne na lampach elektronowych. Noszą nazwę Colossus i są tak tajne, że świat dowiedział się o nich dopiero w latach 80-tych ubiegłego wieku. Komputery zostały całkowicie zniszczone po zakończeniu działań wojennych.
Replika komputera Colossus w Bletchley Park w Anglii Więcej na ten temat znajdziesz w artykule: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Historia komputerów przyspiesza. W Ameryce w 1943 roku zostaje zbudowany komputer elektronowy ENIAC (od angielskiej nazwy Electronic Numerical Integrator And Computer – Elektroniczny, Numeryczny Integrator i Komputer).
ENIAC (1945) Oficjalnym celem budowy komputera ENIAC były obliczenia artyleryjskie, jednak wiadomo, że wykorzystywano go również do obliczeń przy projekcie bomby wodorowej. ENIAC niesłusznie jest uznawany za pierwszy komputer elektronowy, ponieważ przed nim były komputery Colossus. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kolejne komputery zbliżają się do tego, co znamy.
UNIVAC (1950)
IBM 360 (1970)
IBM XT (1980)
LAPTOP (2013)
iphone (2017)
Więcej na ten temat znajdziesz w artykule: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Informacja i jej jednostkiBitW informatyce pojęcie informacji jest niedefiniowalnym pojęciem pierwotnym. Nie da się zdefiniować informacji bez odwołania do niej samej - powstałoby więc błędne koło. Można natomiast zdefiniować jej jednostki. To tak jak np. z polem magnetycznym - nikt naprawdę nie wie czym ono jest w swojej istocie, ale potrafimy je obserwować, mierzyć i znamy jego różne własności, co wystarcza do opisu tego pola. Pierwszą i najbardziej podstawową jednostką informacji jest 1 bit. Czym jest bit? Oto krótka definicja:
Czy ta definicja jest zrozumiała dla ciebie? Chyba nie. Zwykle nie jest. Postaram się wyjaśnić o co tutaj tak naprawdę chodzi. Jeśli to zrozumiesz, to bity przestaną być dla ciebie tajemnicze. Zaczynamy...
Przyjrzyjmy się, w jaki sposób informacja jest przekazywana pomiędzy nadawcą i odbiorcą. Obrazuje to rysunek. Nadawca N (niekoniecznie człowiek) wysyła we wspólnym ośrodku sygnał do odbiorcy O. Sygnał jest nośnikiem informacji. Dzięki niemu informacja może być przekazana. Sygnał może przyjmować różne formy: fala akustyczna dla mowy; język migowy, gdzie poszczególne gesty nadawcy są dla odbiorcy sygnałem przekazującym informacje; pismo; fale świetlne (np. sygnały alfabetu Morse'a przekazywane w nocy pomiędzy statkami chcącymi utrzymać ciszę radiową); fale radiowe; prąd elektryczny; strumień cząstek, itp. Aby odbiorca (niekoniecznie człowiek) zrozumiał przekazywaną informację, musi on znać sposób umieszczenia jej w sygnale (czyli jej zakodowanie). Weźmy dla przykładu naszą mowę. Znaczenia poszczególnych słów (czyli sygnałów) uczymy się już w dzieciństwie, a później używamy wyuczonej mowy przez całe życie osiągając wysoki stopień automatyzmu. Co jednak się stanie, gdy zostaniemy skonfrontowani z obcokrajowcem, który posługuje się innym sposobem kodowania informacji w dźwiękach mowy. Przestaniemy cokolwiek rozumieć (o ile nie znamy języka ojczystego tego obcokrajowca). Jest to oczywiste, ponieważ nie znamy sposobu kodowania informacji w docierających do nas sygnałach, to nie możemy jej z nich wydobyć. Z drugiej strony mowę można zapisać za pomocą znaków graficznych, czyli pisma. Ta sama informacja będzie teraz przedstawiona przy pomocy innych sygnałów - zmieniliśmy jej sposób kodowania. Odczytanie pisma również wymaga znajomości sposobu kodowania dźwięków za pomocą liter, a istnieją języki, gdzie każde słowo ma swój własny znak, niekoniecznie wiążący się z wymową tego słowa, lecz z jego znaczeniem. Np. język chiński:
Obok widnieje pewien symbol z alfabetu języka chińskiego. Na
pierwszy rzut oka jest on dla nas zupełnie niezrozumiały. Spróbujmy go wyjaśnić.
Prostokąt oznacza Ziemię, czyli
Świat. Kreska pionowa przebiega przez środek
prostokąta, oznacza więc Środek. Jeśli złożymy to razem,
to otrzymamy Środek Świata. Oczywiście znak ten oznacza
Chiny, czyli
Państwo Środka Świata. Właśnie wyjaśniliśmy sposób
kodowania informacji w symbolu Chi-na. Teraz jest to dla
nas zupełnie proste. Poznanie sposobu kodowania informacji w docierającym do nas
sygnale pozwala na jej wydobycie.
Z języka chińskiego i gwiazd wróćmy jednak do naszych bitów. Co mają bity wspólnego z informacją. Mają, jeśli potraktujemy je jako sygnały, które przenoszą zakodowaną informację. Każdy bit może przyjmować jeden z dwóch dostępnych mu stanów. Stany te mogą być reprezentowane na różne sposoby:
Postać bitu jest pojęciem technicznym i zmartwieniem dla inzynierów. Nas bardziej interesuje, jak przy jego pomocy można przekazywać informację. Cała sztuka polega na kodowaniu (identycznie jak w przypadku mowy i pisma, gdzie określonym dźwiękom, czy znakom przypisuje się odpowiednie znaczenie). Jeden bit może przyjmować dwa różne stany (np. 0 i 1), więc mamy do dyspozycji dwa słowa. Słowom tym musimy nadać znaczenie, np. takie:
Załóżmy, iż bit taki przekazuje nam czujnik umieszczony w jakimś pomieszczeniu, które ma chronić przed pożarem. Jeśli otrzymany bit ma wartość 0, to możemy być spokojni - nic tam się nie dzieje. Jeśli jednak odebrany bit będzie miał stan 1, to już jest powód do zdenerwowania - w chronionym pomieszczeniu wybuchł pożar. Ale, ale.. Nikt nam przecież o tym nie powiedział. Odczytaliśmy informację przekazaną przez bit. Stąd wniosek, iż bity, podobnie jak mowa i pismo, również nadają się do przekazywania informacji. Potraktujmy je po prostu jako słowa w pewnym języku. Jeśli wyglądają dla nas dziwnie i niezrozumiale, to przypomnijmy sobie pismo chińskie, które jest równie niezrozumiałe, dopóki nie poznamy jego tajników. Powyższy przykład był bardzo prosty. Zdefiniowaliśmy język prostego czujnika przeciwpożarowego. W języku tym potrzebne były tylko dwa słowa. Dlatego mogliśmy je przekazać za pomocą bitu. Techniczny sposób realizacji takiego bitu, to już inna sprawa. Dla mowy odpowiada to doborowi mówcy o przyjemnym i przekonywującym głosie, którego z przyjemnością wysłuchają słuchacze i oczywiście wszystko zrozumieją i zapamiętają. Czujnik (nadawca) może być połączony z systemem alarmowym (odbiorcą) np. za pomocą przewodu elektrycznego. Brak prądu w tym przewodzie może odpowiadać bitowi o stanie 0, a więc sytuacji nie awaryjnej. Jeśli w przewodzie pojawi się prąd, to będzie to odpowiadało bitowi o wartości 1, oznacza więc pożar. Po odebraniu takiego sygnału alarmowego system powinien włączyć syreny i zawiadomić straż pożarną (a może również włączyć prysznic wodny w chronionym pomieszczeniu, który ugasi pożar).
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Grupa bitówNiestety, otaczający nas świat nie jest taki prosty. Co zrobić jeśli musimy kodować więcej niż dwie informacje? Odpowiedź jest prosta. Zamiast jednego bitu weźmy ich kilka i tak utworzoną grupę potraktujmy jako sygnał złożony. Np. dla dwóch bitów otrzymamy następujące słowa binarne:
Otrzymaliśmy cztery słówka do wykorzystania: 00, 01, 10 i 11. Każdemu z tych słów można przypisać (zakodować) jedną informację. Np, taką:
Tym razem mamy czujnik chroniący pomieszczenie przed włamaniem. Jeśli zostaną otwarte drzwi lub okno, to system alarmowy otrzymując słowa 01, 10 i 11 może podjąć odpowiednie działanie. Dwa bity umożliwiają przekazanie 4 słów. Zobaczmy, jak przedstawia się to dla trzech bitów:
Trzy bity udostępniają 8 słów: 000, 001, 010, 011, 100, 101, 110, 111. Każdemu z tych słów możemy przypisać jedną wiadomość (zakodować informację). Grupa trzech bitów pozwala na przesłanie 8 informacji. Zapiszmy to następująco:
1 bit - 2 wiadomości
Liczba wiadomości tworzy ciąg geometryczny - każdy następny wyraz jest dwukrotnie większy od swojego poprzednika. Musi tak być, ponieważ dodanie każdego następnego bitu podwaja liczbę ich kombinacji - stan nowego bitu "0" ze wszystkimi poprzednimi stanami bitów oraz stan "1" nowego bitu ze wszystkimi poprzednimi kombinacjami - dwa razy więcej. Gdy już to zauważymy, to możemy podać prosty wzór na liczbę dostępnych słów dla n bitów:
Postępowanie to prowadzi nas do otrzymania słów binarnych. Jeśli chcemy je teraz wykorzystać, to musimy każdemu z otrzymanych słów przypisać (zakodować) jedną wiadomość. Od tego momentu słowo takie będzie przenosiło tę wiadomość i odbiorca odczyta ją. Na pytanie typu "jakie to są wiadomości?" odpowiem od razu - takie, jakie potrzebujemy. Mając słowa mamy nośnik informacji, który możemy wykorzystać w dowolny sposób.
PrzykładMamy do dyspozycji słowa kodowe o długości 8 bitów. Ile różnych wiadomości można przesłać przy ich pomocy? Odpowiedź: liczba wiadomości wynosi 28, czyli 256.
Pozostaje do omówienia jeszcze jeden problem. Mamy n wybranych wiadomości, które chcielibyśmy kodować przy pomocy bitów. Ile bitów potrzebujemy (jak długie bitowo muszą być słowa)? Odpowiedź wynika bezpośrednio z podanego przez nas wzoru. Tzn. musimy znaleźć taką najmniejszą liczbę m, aby spełniona była nierówność:
Aby otrzymać oszacowanie wielkości m, logarytmujemy obustronnie powyższą nierówność (logarytm przy podstawie 2) i otrzymujemy:
log2(n) <= log2(2m),
co po uproszczeniu da w wyniku:
PrzykładChcemy kodować 17 różnych wiadomości. Ile bitów musimy
przeznaczyć na słowa kodowe? m >= 4,0874628412503394082540660108104... Odpowiedź będzie brzmiała: Do zakodowania 17 różnych wiadomości potrzebne nam są słowa kodowe o długości 5 bitów.
Jak łatwo możemy się przekonać, 5 bitów daje 25, czyli 32 słowa, a wiadomości mamy tylko 17. Wynika z tego, że 15 słów kodowych nie będzie wykorzystane. Czy nie jest to marnotrawstwo? Oczywiście, że jest (i znaleziono na to rozwiązanie o nazwie kompresja danych), ale dla nas bardziej istotne jest, aby mieć wystarczająco dużo słów. To, że pewne słowa nie będą wykorzystywane, nic nie szkodzi. Przecież z liter naszego alfabetu też można utworzyć słowa bez znaczenia: gzlowfkp - a czy tym się ktoś przejmuje?
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kodowanie grafiki i filmówObraz cyfrowy jest zbudowany z siatki punktów, które nazywamy pikselami (ang. pixel = picture element). Są to niepodzielne fragmenty obrazu o jednolitym kolorze. Wyobraźmy sobie, że mamy następujący obrazek:
Aby zobaczyć strukturę tworzących go pikseli, powiększmy go:
Tabela kodów kolorów:
Piksele przyjmują tutaj tylko dwa kolory: czarny i biały. Dwa kolory możemy zakodować przy pomocy jednego bitu (patrz: tabelka w poprzednim podrozdziale). Umawiamy się, że bit 0 będzie oznaczał kolor tła, czyli kolor biały, a bit 1 będzie oznaczał kolor tuszu, czyli czarny – w ten sposób określamy znaczenie słów 0 i 1 w języku grafiki tego obrazka. Jeśli każdy piksel obrazka zastąpimy kodującym go bitem, to otrzymamy następujący wynik:
Obrazek stał się mało czytelny dla człowieka, lecz bity są znakomicie czytelne dla komputerów. Te 0 i 1 zostaną przekształcone na odpowiednie sygnały elektryczne i układy komputera będą mogły je przechować, przetworzyć lub przesłać przez sieć informatyczną nawet na drugi koniec świata. Jeśli odbiorca będzie znał znaczenie poszczególnych bitów (będzie rozumiał język grafiki tego obrazka), to bez problemów odtworzy sobie treść. Oczywiście piksele mogą przybierać więcej niż 2 kolory. W takim przypadku rośnie liczba informacji i należy zwiększyć ilość bitów kodujących kolor piksela. Oto ten sam obrazek z 4 kolorami pikseli:
Tabela kodów kolorów:
Po zakodowaniu otrzymujemy (każde dwa bity to jeden piksel):
Zwiększając liczbę bitów na piksel, otrzymujemy możliwość kodowania coraz większej liczby kolorów. Jeśli przeznaczymy na piksele po 8 bitów, to nasze obrazki będą mogły posiadać do 28 = 256 różnych kolorów – popularny w sieci format GIF (ang. Graphics Interchange Format) stosuje właśnie takie rozwiązanie. Grafika GIF najlepiej nadaje się do rysunków, zdjęcia nie wychodzą w niej najlepiej.
Obrazek GIF
Format JPG/JPEG (ang. Joint Photographic Experts Group) pozwala kodować piksele 24 bitami. Daje to gamę 224 = 16 milionów kolorów, więcej niż potrafi rozróżnić ludzkie oko. Tryb ten nosi nazwę True Color (prawdziwy kolor) i doskonale nadaje się do cyfrowej fotografii.
Obrazek JPG
Film to nic innego jak seria szybko po sobie wyświetlanych obrazków, co daje wrażenie ruchu. Każdy z tych obrazków jest kodowany w opisany powyżej sposób.
Animowany GIF
Wniosek: bity doskonale nadają się do reprezentowania grafiki oraz filmów. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kodowanie tekstu
Tekst jest wciąż bardzo ważny dla ludzi i stosujemy go powszechnie. Tekst zbudowany jest ze znaków. Każdy znak potraktujemy jak osobną informację. Najpierw określamy zbiór znaków, które będziemy chcieli kodować za pomocą bitów. Na przykład tak:
A Ą B C Ć
D E Ę F G H I J K L Ł M N Ń O Ó P Q R S Ś T U V W X Y Z Ż Ź
0 1 2 3 4 5 6 7 8 9 . , : ; + - * / ( ) spacja
Teraz liczymy, ile mamy znaków do zakodowania. Wychodzi 56 znaki. Ile potrzebujemy bitów na każdy znak? Oczywiście 6, ponieważ 26 = 64. Zatem słówka 6-bitowe pokrywają zapotrzebowanie, a nawet mamy mały zapas na przyszłe rozszerzenia. W następnym kroku musimy każdej z liter przypisać unikalne słówko bitowe. Będziemy je nazywali kodem binarnym znaku (ang. binary character code). Możemy to zrobić tak:
Gdy kody binarne wszystkich znaków będą gotowe, możemy przystąpić do kodowania tekstu. Każdą literkę tekstu zastępujemy odpowiadającym jej kodem binarnym. Na przykład:
001100000000010101010011010001001011000000110111001100000110011000011010110111010101001011000111001101010001011111010000110111001101010111000000001100000110010000101101
Otrzymany ciąg bitów możemy dowolnie przetwarzać na komputerach. Działanie odwrotne jest również proste. Załóżmy, że otrzymaliśmy ciąg bitów:
000010000111000101000111110111001100011011011010010111010011101101
Ponieważ wiemy, że w naszym systemie każdy znak jest reprezentowany przez 6 bitów, to otrzymany ciąg dzielimy na grupy 6 bitowe:
000010 000111 000101 000111 110111 001100 011011 011010 010111 010011
101101
Dostaliśmy kody bitowe poszczególnych znaków. Zamieniamy je na litery zgodnie z tabelą kodu:
BĘDĘ JUTRO.
Powyższy kod znakowy jest tylko przykładem szkolnym. W praktyce stosuje się nieco bardziej zaawansowane rozwiązania, np. kod ASCII (ang. American Standard Code for Information Interchange), w którym kod każdego znaku jest 8-mio bitowy. Kod ASCII pozwala kodować 256 różnych znaków. Oczywiście jest to zbyt mało dla kodowania wszystkich używanych przez ludzi liter. Z tego powodu utworzono kod Unicode, gdzie znaki mogą mieć do 32 bitów długości. Kod Unicode powszechnie jest stosowany w Internecie oraz w systemie Windows. Dzięki temu obecne przeglądarki sieciowe potrafią poprawnie wyświetlać tekst praktycznie w każdym języku (pod warunkiem, że masz zainstalowaną odpowiednią czcionkę).
正體字/繁體字
Wniosek: bity nadają się do kodowania znaków. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kodowanie liczb
Teraz pokażemy sposób przedstawiania liczb naturalnych za pomocą bitów. Wyobraźmy sobie, iż żyjemy w takim dziwnym kraju (no, może tak bardzo tego nie musimy sobie wyobrażać, wystarczy się rozglądnąć), w którym wszystkie monety mają nominały równe potęgom liczby 2:
Załóżmy, iż w tym dziwnym kraju wyszło zarządzenie, które głosi, iż wszystkie kwoty należy wypłacać najmniejszą możliwą liczbą monet. Za nieprzestrzeganie tego zarządzenia rząd nałożył olbrzymią karę 264. Cóż, nikt tyle pieniążków nie miał, zatem wszyscy rozpoczęli skrupulatne odmierzanie sum pieniężnych. Z sumami będącymi potęgami liczby 2 nie ma problemu - wystarczy jedna moneta o właściwym nominale. Pozostałe sumy wyliczamy następująco: Trzeba wypłacić 157. Aby monet było jak najmniej, każda o właściwym nominale powinna wystąpić co najwyżej raz. Ano zobaczmy:
Pierwszą monetą może być 128 (256 byłoby za duże, a 64 musielibyśmy użyć dwukrotnie). Zatem płacimy 128. Pozostaje wciąż: 157 - 128 = 29 Najbliższą monetą będzie 16. Płacimy 16. Pozostaje: 29 - 16 = 13 Teraz płacimy 8. Pozostaje: 13 - 8 = 5 Płacimy 4. Pozostaje: 5 - 4 = 1 I na koniec wypłacamy 1. Podsumujmy: 157 = 128 + 16 + 8 + 4 + 1
No dobrze, powiesz. Co to ma jednak wspólnego z bitami? A ma. Zwróć uwagę, iż przy wypłacie sumy podejmujemy dla poszczególnych nominałów monet jedną z decyzji:
A to są przecież nasze kochane bity. Ułóżmy monety kolejno z prawa na lewo od najmniejszej do największej. Otrzymamy następujący ciąg nominałów:
Teraz pod tak wypisanymi nominałami zapisujemy dla danej sumy pieniężnej wypłaconą liczbę monet danego nominału:
Ponieważ dana moneta może wystąpić co najwyżej raz, to pod nominałami zapisujemy tylko cyfry 0 lub 1. Jeśli cyfry potraktujemy teraz jako bity, otrzymamy zapis binarny danej liczby dziesiętnej:
157(10) = ...00010011101(2)
W zapisie tym bit o stanie 1 ma wartość odpowiadającej mu potęgi liczby 2. Bit o stanie 0 ma wartość 0. Aby obliczyć wartość całej liczby binarnej wystarczy zatem zsumować wartości bitów o stanie 1. Oto inny przykład: W dziwnym kraju na czeku bankier wypisał sumę pieniężną zaznaczając liczbę monet o kolejnych nominałach, które należy wypłacić klientowi banku. Zrobił to tak:
1011101101
Jaką sumę należy wypłacić? My już wiemy. Skoro poszczególne cyfry oznaczają liczbę monet o danym nominale, zapisujemy to tak:
Teraz sumujemy nominały wypłaconych monet i otrzymujemy:
512 + 128 + 64 + 32 + 8 + 4 + 1 = 749
Proste? Jeśli nie, to przeczytaj to kolejny raz, aż zrozumiesz. Formalnie rzecz biorąc, jeśli mamy n bitową liczbę binarną:
bn-1 bn-2 ... b2 b1 b0, gdzie bi = 0 lub 1, dla i = 0,1,2,...,n-1
to jej wartość dziesiętną obliczamy zgodnie z poniższym wzorem:
wartość = bn-12n-1 + bn-22n-2 + ... + b222 + b121 + b020
Wniosek: bity nadają się do kodowania liczb. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Jednostki informacjiJak zobaczyliśmy w poprzednich podrozdziałach, bit jest jednostką bardzo małą. W praktyce występuje potrzeba stosowania grup bitów do zakodowania użytecznych informacji. Dlatego przyjęto odpowiednie jednostki oparte na bicie, jako ich podstawie. W poniższej tabeli przedstawiamy najczęściej stosowane wielokrotności bitu.
Jednostki w informatyce opierają się na podstawie 2. Dlatego 1KB = 210B = 1024B, a nie 1000B. W celu odróżnienia przedrostków informatycznych kilo, mega, giga i tera od zwykłych przedrostków fizycznych zapisuje się je dużą literą - 1KB, 1MB, 1GB i 1TB. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Podsumowanie
Informacja jest kodowana za pomocą symboli, którym nadajemy odpowiednie znaczenia. Najprostszym symbolem jest bit. Bit występuje tylko w dwóch różnych stanach/postaciach. W informatyce bity oznaczamy cyframi 0 i 1. Jeden bit pozwala zakodować dwie informacje. n bitów koduje 2n informacji. Bity są bardzo dobrym środkiem kodowania wszelkich informacji. Bity są łatwo przetwarzane przez komputery.
Gdy konstruowano pierwsze maszyny liczące, wcale nie był oczywistym fakt, iż muszą one pracować z bitami. Nie istniał wtedy jeszcze żaden wzorzec, na którym można by się oprzeć. Szukano w różnych kierunkach. Np. pierwszy komputer elektroniczny ENIAC, powstały w roku 1945, pracował na liczbach w systemie dziesiętnym, tzn. przetwarzał sygnały, które mogły przyjmować 10 różnych stanów, poziomów. W końcu przyjęto, że jednostką informacji dla komputerów będzie bit.
|
I Liceum Ogólnokształcące |
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe