Autor Wątek: HKSW - Kurs Informatyki  (Przeczytany 928 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Bajtuś

  • Obywatel
  • Fanatyk
  • ****
  • Wiadomości: 1077
  • : 55
  • Płeć: Mężczyzna
    • NPE: KH15082500082
    • Zobacz profil
    • Odznaczenia
HKSW - Kurs Informatyki
« dnia: Sob, 09 Kwi 2016, 20:48:58 »
Wykład 1: Liczby dwójkowe.

Komputer to maszyna elektroniczna, dla której naturalnym systemem liczenia byłby taki, który opisywał by dwa stany. Wysoki i niski. Narzuca się tutaj od razu system dwójkowy, jako ten, który ma tylko dwie cyfry w swoim zestawie 0 i 1.
Więc, aby zgłębić tajniki komputera dobrze jest wiedzieć co to jest ten system.
System dwójkowy jest najmniejszym systemem pozycyjnym - zawiera bowiem tylko dwie cyfry (system dziesiętny - używany powszechnie - zawiera aż 10 cyfr). Początkowo niewprawnym użytkownikom może on sprawić trochę problemów, ale po kilu, kilkunastu próbach, problemy znikają. Kiedyś w zamierzchłych czasach w nieistniejącym reala, kiedy usiłowano wprowadzić dziesięciolatkę, w klasach drugich i trzecich wprowadzono naukę systemu dwójkowego i trójkowego. Okazało się, że dzieci bez problemów liczyły w tych systemach, a nawet potrafiły (nie wiedząc o tym liczyć dwójkowo w kodzie BCD). Niestety po paru latach systemy te zniknęły z programu nauczania, bo niestety najwięcej trudności sprawiły nauczycielom uczącym nauczania początkowego).
To tyle historii. Przejdźmy do sedna sprawy.
Podstawą systemu dwójkowego jest liczba 2. Jak wiecie z nauki o systemie dziesiątkowym, kolejne cyfry w zapisie pozycyjnym mają wagę, która jest potęgą podstawy liczenia, czyli w naszym przypadku 2.
Weźmy jakąś liczbę binarną i spróbujmy policzyć jaką ma wartość w systemie dziesiętnym.
10101101
Zaczynamy od końca: 1+0*2+1*4+1*8+0*16+1*32+0*64+1*128= 1+4+16+32+128=181
Proste?
Gorzej (??) jest w drugą stronę, ale nie jest to do końca prawdą.
Istnieje algorytm zamiany liczby dziesiętnej na liczbę w systemie o dowolnej podstawie.
Daną liczbę dziesiętną dzielimy całkowicie przez p (p-podstawa systemu liczenia) dotąd, dopóki w wyniku tego dzielenia nie otrzymamy liczby zero. Otrzymane reszty z dzielenia pisane w odwrotnej kolejności, dają nam szukane rozwinięcie liczby w systemie p.
Spróbujmy to zrobić dla liczby z 181.
181 : 2 = 90 r 1
90 : 2 = 45 r 0
45 : 2 = 22 r 1
22 : 2 = 11 r 0
11 : 2 = 5 r 1
5 : 2 = 2 r 1
2 : 2 = 1 r 0
1 : 2 = 0 r 1 (mamy zero - koniec dzielenia)
i teraz liczba: 10110101

Jako prace samodzielną proszę podać dwójkowo swój wiek.

Jeśli będzie zainteresowanie przedstawię następne części wykładu.
hrabia Bajtuś
Prezes Hasselandzkiego Banku Krajowego
Administrator system EGO
Lord Konstabl Królestwa Hasselandu

Offline Eddard Noqtern

  • Książę
  • Moderator
  • Legenda
  • ******
  • Wiadomości: 4568
  • : 159
  • Płeć: Mężczyzna
  • Książę w Hasselandzie, Lord w Bialenii
    • NPE: BI14112700073
    • Zobacz profil
    • Odznaczenia
Odp: HKSW - Kurs Informatyki
« Odpowiedź #1 dnia: Sob, 09 Kwi 2016, 21:46:05 »
Powiedzmy, że mikronacyjnie mam 35 lat.

35/2 = 17 r 1
17/2 = 8 r 1
8/2 = 4 r 0
4/2 = 2 r 0
2/2 = 1 r 0
1/2 = 0 r 1

35 => 100011
Eddard Noqtern - Lord Szabelan Królestwa Hasselandu, Wicekról Vienbien
Jeśli nie możesz robić rzeczy wielkich, rób małe rzeczy w wielki sposób.

Offline Hewret Faradobus

Odp: HKSW - Kurs Informatyki
« Odpowiedź #2 dnia: Sob, 09 Kwi 2016, 21:48:14 »
Cytuj
Jako prace samodzielną proszę podać dwójkowo swój wiek.

10011
Najczcigodniejszy, Doskonałej Chwały, Elokwentny, Inteligentny Dzierżawca Nauk, Ocean Mądrości

Offline Bajtuś

  • Obywatel
  • Fanatyk
  • ****
  • Wiadomości: 1077
  • : 55
  • Płeć: Mężczyzna
    • NPE: KH15082500082
    • Zobacz profil
    • Odznaczenia
Odp: HKSW - Kurs Informatyki
« Odpowiedź #3 dnia: Sob, 09 Kwi 2016, 21:56:05 »
Obydwaj zaliczyliście pracę domową ;)
hrabia Bajtuś
Prezes Hasselandzkiego Banku Krajowego
Administrator system EGO
Lord Konstabl Królestwa Hasselandu

Offline Fiodor Swirydiuk

  • Ja
  • Obywatel
  • Bohater
  • ****
  • Wiadomości: 1964
  • : 105
  • Płeć: Mężczyzna
  • Jestę Hardkorę
    • NPE: BI15031300128
    • Zobacz profil
    • Odznaczenia
Odp: HKSW - Kurs Informatyki
« Odpowiedź #4 dnia: Sob, 09 Kwi 2016, 22:25:56 »
Powiedzmy, że mam w mikronacjach 20 lat.
20/2 = 10 r 0
10/2 = 5 r 0
5/2 = 2 r 1
2/2 = 1 r 1
Mam 0011 lat.
(-)Fiodor Swirydiuk, Antyludzki rak, Wielki Książe Noklezji, najstarszy żyjący mieszkaniec Noklezji;

Offline Bajtuś

  • Obywatel
  • Fanatyk
  • ****
  • Wiadomości: 1077
  • : 55
  • Płeć: Mężczyzna
    • NPE: KH15082500082
    • Zobacz profil
    • Odznaczenia
Odp: HKSW - Kurs Informatyki
« Odpowiedź #5 dnia: Sob, 09 Kwi 2016, 22:55:40 »
Powiedzmy, że mam w mikronacjach 20 lat.
20/2 = 10 r 0
10/2 = 5 r 0
5/2 = 2 r 1
2/2 = 1 r 1
Mam 0011 lat.
ostatnia linijka jest błędna
2/2=1 r 0
1/2=0 r 1
10100
hrabia Bajtuś
Prezes Hasselandzkiego Banku Krajowego
Administrator system EGO
Lord Konstabl Królestwa Hasselandu

Offline Fiodor Swirydiuk

  • Ja
  • Obywatel
  • Bohater
  • ****
  • Wiadomości: 1964
  • : 105
  • Płeć: Mężczyzna
  • Jestę Hardkorę
    • NPE: BI15031300128
    • Zobacz profil
    • Odznaczenia
Odp: HKSW - Kurs Informatyki
« Odpowiedź #6 dnia: Nie, 10 Kwi 2016, 00:38:59 »
Powiedzmy, że mam w mikronacjach 20 lat.
20/2 = 10 r 0
10/2 = 5 r 0
5/2 = 2 r 1
2/2 = 1 r 1
Mam 0011 lat.
ostatnia linijka jest błędna
2/2=1 r 0
1/2=0 r 1
10100
Mój błąd. ;)
(-)Fiodor Swirydiuk, Antyludzki rak, Wielki Książe Noklezji, najstarszy żyjący mieszkaniec Noklezji;

Offline Hewret Faradobus

Odp: HKSW - Kurs Informatyki
« Odpowiedź #7 dnia: Nie, 10 Kwi 2016, 07:56:02 »
Przy małych liczbach, takich jak wiek to można robić w ten sposób:

12980920_802392426532610_2093662121_o.jpg

Ale jak są to liczby większe, to pozostaje dzielić. ;)
Najczcigodniejszy, Doskonałej Chwały, Elokwentny, Inteligentny Dzierżawca Nauk, Ocean Mądrości

Offline Bajtuś

  • Obywatel
  • Fanatyk
  • ****
  • Wiadomości: 1077
  • : 55
  • Płeć: Mężczyzna
    • NPE: KH15082500082
    • Zobacz profil
    • Odznaczenia
Odp: HKSW - Kurs Informatyki
« Odpowiedź #8 dnia: Nie, 10 Kwi 2016, 08:50:56 »
Można też odejmować: znaleźć największą potęgę dwójki mniejszą od liczby zamienianej, odjąć ją potem powtórzyć ...aż do otrzymania 0 lub jedynki... problem w pamiętaniu o potęgach, które nie brały po drodze udziału w odejmowaniu bo trzeba by zapisać zera na odpowiednich pozycjach. W sumie najprostsze jest jednak dzielenie. Przy wielkich liczbach dwójkowych stosuje się inny zapis, ale to będzie w kolejnych wykładach.
hrabia Bajtuś
Prezes Hasselandzkiego Banku Krajowego
Administrator system EGO
Lord Konstabl Królestwa Hasselandu

Offline Bajtuś

  • Obywatel
  • Fanatyk
  • ****
  • Wiadomości: 1077
  • : 55
  • Płeć: Mężczyzna
    • NPE: KH15082500082
    • Zobacz profil
    • Odznaczenia
HKSW - Kurs Informatyki - wykład 2
« Odpowiedź #9 dnia: Nie, 10 Kwi 2016, 12:20:46 »

Wykład 2: Operacje logiczne na liczbach dwójkowych

Podstawowymi operacjami w informatyce są operacje logiczne.
Jest ich kilka:
NOT (nie) - negacja / zaprzeczenie - operacja jednoargumentowa
AND (i)- koniunkcja lub iloczyn logiczny - dwuargumentowa
OR (lub) - alternatywa lub suma logiczna - dwuargumentowa
XOR - różnica symetryczna - dwuargumentowa.
W logice rozróżniamy dwa stany: true (prawda) i false (fałsz), a to bardzo pasuje do systemu dwójkowego.
Przymuje się, że fałsz (false) ma wartość 0, prawdza (true) wartość 1.
Dla przypomnienia coniektórym tabele wartości logicznych:
Zaprzeczenie (NOT)
NOT01
10
Koninkcja (AND)
AND01
001
101
Alternatywa (OR)
OR01
001
111
Różnica symetryczna (XOR)
NOT01
010
101

Ciekawostka:
jesli mama dwieliczby dwójkowe a i b to:
operacja (a XOR b) XOR b = a.
Ale o tym dokładniej w nastepnych wykładach.

hrabia Bajtuś
Prezes Hasselandzkiego Banku Krajowego
Administrator system EGO
Lord Konstabl Królestwa Hasselandu

Offline Bajtuś

  • Obywatel
  • Fanatyk
  • ****
  • Wiadomości: 1077
  • : 55
  • Płeć: Mężczyzna
    • NPE: KH15082500082
    • Zobacz profil
    • Odznaczenia
Wykład 3: Podstawowe pojęcia informatyczne.
« Odpowiedź #10 dnia: Pon, 11 Kwi 2016, 21:08:11 »
Wykład 3: Podstawowe pojęcia informatyczne.

Najmniejszą jednostką informatyczną jest BIT.
Przyjmuje on jedną z dwóch wartości: 1 lub 0.
Od niej przyjęło się pewne nazewnictwo związane z komputerami, np
system 32-bitowy, kolor 24-bitowy, procesor 8-bitowy itd.
Operowanie bitami w informatyce byłoby bardzo uciążliwe i kłopotliwe, chociażby w samym zapisie liczby bitowej.
Wyobraźmy sobie, że chcąc się połączyć np. z naszym forum musielibyśmy wpisać ciąg 32-cyfrowy składający się z 0 i 1.
Dlatego wprowadzono większe jednostki.
Podstawową jednostką, którą operuje się jest BAJT (ang: BYTE).
Bajt składa się z ośmiu bitów ułożonych w pewnej kolejności i odpowiednio ponumerowanych:
b7,b6,b5,b4,b3,b2,b1,b0
Bit b7 nazywa się bitem najstarszym, b0 bitem najmłodszym.
Jeśli bajt potraktujemy jako ośmiocyfrową liczbę dwójkową, to okazuje się, że na jednym bajcie można zapisać 256 różnych kombinacji 0 i 1 co daje nam zakres od 0 do 255.
I teraz już wiadomo, dlaczego adresy IP tak wyglądają: 192.168.1.1 - adres IP składa się z czterech oktetów (bajtów), oczywiście mówimy o adresie w wersji 4.
Wróćmy do bajtów.
Tak jak w systemie dziesiętnym, tak i w informatyce są jednostki wielokrotne. Żeby nie mieszać przyjęto przedrostki z systemu dziesiętnego (kilo, mega ...).
Jest tylko mała różnica do przedrostka kilo w systemie dziesiętnym przyjęto liczbę 1000, a ponieważ w informatyce posługujemy sie systemem dwójkowym - do przedrostka kilo przyjęto 2 do potęgi 10 czyli 1024. I tak:
1 KB = 1024 B  (kilobajt)
1 MB = 1024 KB (megabajt)
1 GB = 1024 MB (gigabajt)
1 TB = 1025 GB (terabajt)

I tu mała dygresja: Producenci dysków twardych i płyt dvd i bd oszukują klientów podając że np BD25 ma pojemność 25GB a fizycznie ma 23.31GB, to samo dotyczy dysków twardych 1TB dysk nie ma 1TB danych tylko dużo mniej - dlaczego ... przy przeliczaniu na TB zastosowano mnożnik 1000 a nie 1024 i stąd różnica.

Dla wprawy proszę policzyć ile bajtów będzie miała płyta BD25 gdyby ją liczyć właściwie (tzn miała faktyczną pojemność 25GB).


hrabia Bajtuś
Prezes Hasselandzkiego Banku Krajowego
Administrator system EGO
Lord Konstabl Królestwa Hasselandu

Offline Hewret Faradobus

Odp: HKSW - Kurs Informatyki
« Odpowiedź #11 dnia: Pon, 11 Kwi 2016, 21:13:08 »
1024 * 1024 * 1024 * 25 = 26 843 545 600
Najczcigodniejszy, Doskonałej Chwały, Elokwentny, Inteligentny Dzierżawca Nauk, Ocean Mądrości

Offline Bajtuś

  • Obywatel
  • Fanatyk
  • ****
  • Wiadomości: 1077
  • : 55
  • Płeć: Mężczyzna
    • NPE: KH15082500082
    • Zobacz profil
    • Odznaczenia
Odp: HKSW - Kurs Informatyki
« Odpowiedź #12 dnia: Pon, 11 Kwi 2016, 21:20:59 »
a płytka BD25 ma 25 025 314 815 B
hrabia Bajtuś
Prezes Hasselandzkiego Banku Krajowego
Administrator system EGO
Lord Konstabl Królestwa Hasselandu

Offline Hewret Faradobus

Odp: HKSW - Kurs Informatyki
« Odpowiedź #13 dnia: Pon, 11 Kwi 2016, 21:28:10 »
26 843 545 600 B
25 025 314 815 B
=
1 818 230 785 B

czyli ~1,69 GB

Tak więc płytka komercyjnie ma ~23,31 GB.
Najczcigodniejszy, Doskonałej Chwały, Elokwentny, Inteligentny Dzierżawca Nauk, Ocean Mądrości

Offline Bajtuś

  • Obywatel
  • Fanatyk
  • ****
  • Wiadomości: 1077
  • : 55
  • Płeć: Mężczyzna
    • NPE: KH15082500082
    • Zobacz profil
    • Odznaczenia
Odp: HKSW - Kurs Informatyki
« Odpowiedź #14 dnia: Pon, 11 Kwi 2016, 21:41:51 »
zgadza się
a zobacz sobie dyski twarde 1TB (niektórzy producenci piszą że ma 1000GB), a fizycznie ma 931GB
hrabia Bajtuś
Prezes Hasselandzkiego Banku Krajowego
Administrator system EGO
Lord Konstabl Królestwa Hasselandu

Offline Eddard Noqtern

  • Książę
  • Moderator
  • Legenda
  • ******
  • Wiadomości: 4568
  • : 159
  • Płeć: Mężczyzna
  • Książę w Hasselandzie, Lord w Bialenii
    • NPE: BI14112700073
    • Zobacz profil
    • Odznaczenia
Odp: HKSW - Kurs Informatyki
« Odpowiedź #15 dnia: Pon, 11 Kwi 2016, 21:58:23 »
Cytuj
Dla wprawy proszę policzyć ile bajtów będzie miała płyta BD25 gdyby ją liczyć właściwie (tzn miała faktyczną pojemność 25GB).

25 GB = 25 * 1024 MB = 25600 MB = 25600 * 1024 KB = 26214400 KB = 26214400 * 1024 B = 26843545600 Bajtów

Eddard Noqtern - Lord Szabelan Królestwa Hasselandu, Wicekról Vienbien
Jeśli nie możesz robić rzeczy wielkich, rób małe rzeczy w wielki sposób.

Offline Bajtuś

  • Obywatel
  • Fanatyk
  • ****
  • Wiadomości: 1077
  • : 55
  • Płeć: Mężczyzna
    • NPE: KH15082500082
    • Zobacz profil
    • Odznaczenia
HKSW - Kurs Informatyki - wykład 4
« Odpowiedź #16 dnia: Śro, 20 Kwi 2016, 17:13:32 »
Wykład 4: Liczby heksadecymalne.

Operowanie liczbami dwójkowymi dla przeciętnych zjadaczy chleba jak i dla "tych co są w temacie" wraz z rozwojem
technologii informatycznych stało się bardzo uciążliwe. Już w latach 90 ubiegłego stulecia programiści zaczęli ułatwiać sobie życie.
Zauważono, że trzycyfrowe liczby dwójkowe mają wartości od 0 do 7, a to są cyfry używane przez system ósemkowy. I zamiast pisać
liczbę dwójkową: 11111111 można napisać 377 (ósemkową). System ósemkowy, krótko zagościł u programistów,
bo okazało się że zamiast 3 cyfr dwójkowych można wziąć 4 cyfry dwójkowe (a to jest akurat połowa bajtu).
System ósemkowy utrzymał się w systemie LINUX do zapisu uprawnień do plików i folderów.
Czterocyfrowa liczba dwójkowa przeniesie wartości od 0 do 15, a to odpowiada systemowi szesnastkowemu (heksadecymalnemu).
Problem w tym, że w alfabecie łacińskim wykorzystano do zapisu liczb cyfry arabskie, a tych jest tylko 10
(bo tyle potrzeba do zapisu liczby w systemie dziesiątkowym). Dlatego przyjęto na potrzeby zapisu cyfr
hexadecymalnych od 10 do 15 jedno-znakowe cyfry, którymi są początkowe litery alfabetu łacińskiego.
I tak cyfrę 10 oznaczono literą A, 11 - B, 12 - C, 13 - D, 14 - E i 15 - F.
i tak jeden bajt przyjmuje wartości od 0 ..255 dziesiętnie; od 0 ... 377 ósemkowo i od 0 .. FF szesnastkowo.
Zamiana liczb dziesiętnych na hexa korzysta z tego samego algorytmu co na system dwójkowy.
I tu ciekawostka: osoba, która ma 18 lat zapisanych w systemie heksadecymalnym faktycznie ma 24 lata (dziesiętnie).
Wykorzystanie liczb szesnastkowych np do zapisu koloru w standardzie RGB:
np. kolor biały to #FFFFFF (znak # oznacza zapis szesnastkowy liczby), a czarny
#000000.
(Pierwsze dwie cyfry hexa odpowiadają za ilość koloru czerwonego (R), dwie następne za kolor zielony (G), a ostanie dwie za kolor niebieski (B)).

Praca domowa:
Proszę zamienić liczbę 128567 na liczbę szesnastkową i podać jaką wartość dziesietną ma liczba #25AB.
hrabia Bajtuś
Prezes Hasselandzkiego Banku Krajowego
Administrator system EGO
Lord Konstabl Królestwa Hasselandu

Offline Bajtuś

  • Obywatel
  • Fanatyk
  • ****
  • Wiadomości: 1077
  • : 55
  • Płeć: Mężczyzna
    • NPE: KH15082500082
    • Zobacz profil
    • Odznaczenia
Wykład 5: U2
« Odpowiedź #17 dnia: Pon, 02 Maj 2016, 16:58:34 »
Wykład 5: U2

Wbrew oczekiwaniom tematem dzisiejszego wykładu nie będzie historia zespołu U2.
Jak pamiętacie z poprzednich wykładów na liczbach binarnych da się zapisać liczby naturalne.
W zastosowaniach operowanie takimi tylko liczbami stwarza duże problemy. Na przykład chcielibyśmy wykonać następujące działanie: 2-5 = -3. No i tutaj mamy mały szkopuł, pojawił się znak minus, a jego nie ma w liczbach dwójkowych. Cóż więc zrobić.
Oczywiście ten problem został szybko rozwiązany, lecz nie sie on za sobą ciekawe błędy, wynikające z nieostrożności programisty niż z błędów komputera.
Jak zapisać w kodzie dwójkowym liczbę ujemną. Rozpatrzmy to na przykładzie 4-cyfrowej liczby binarnej (będzie łatwiej).
Otóż umówiono się, że najstarszy bit w liczbie będzie tzw. bitem znaku - 0 oznaczać będzie liczbę dodatnią, 1 - liczbę ujemną.
No dobrze spróbujmy się z tym pobawić.
Weźmy np liczbę 3 - w kodzie dwójkowym jest to: 11.
Uzupełnijmy ją do czterocyfrowej liczby dwójkowej: 0011.
Zatem najprościej liczba -3 wyglądałaby następująco : 1011 (najstarszy bit 1 czyli ujemna).
Zobaczmy czy to jest dobrze. Najprościej sprawdzić to dodając obie liczby do siebie: 3 + (-3) = 0.
0011
1011
-----
1110
Łoł ... i wyszedł zonk zgodnie z naszą zasadą 3 + (-3) = -6, a powinno być 0.
Czyli nasza umowa dotycząca wyglądu liczby ujemnej nadaje się na szczaw. I tu dochodzimy do nieszczęsnego U2.
U2 zwany pospolicie kodem uzupełnień do 2 polega na tym, że aby stworzyć liczbę ujemną wszystkie bity naszej liczby negujemy a potem dodajemy do najmłodszego bitu 1.
Spróbujmy to zrobić z naszą nieszczęsną 3
0011 - nasza liczba
1100 - liczba po zanegowaniu (zamiana 1<->0)
1101 - po dodaniu do najmłodszego 1.
czyli -3 = 1101
Sprawdźmy, jak poprzednio:
0011
1101
----
0000
Sukces.

Jakie to niesie za sobą problemy. W swojej długiej karierze programistycznej parę razy sam się na nie nabrałem.
Weźmy np i wykonajmy w liczbach całkowitych (czery cyfry binarne) następujące działanie: 4 + 5.
Z arytmetyki wiemy, że wynosi to 9. Zobaczymy jak policzy komputer:
0100
0101
----
1001
binarnie jest to liczba 8, ale my liczymy w liczbach całkowitych, więc ponieważ najstarszy bit jest równy 1 - mamy do czynienia z liczbą ujemną jaką policzmy:
1001
1000 po odjęciu 1
0111 po zanegowaniu: 7 czyli -7
lub inaczej -8 + 0*4 + 0*2 + 1 = -8 +1 = -7 czyli
4 + 5 = -7

Skąd ten problem, ano... przy takim zapisie dla czterocyfrowej liczby całkowitej zakres wynosi od -8 do 7, a wynik nie mieści sie w zakresie i stąd ten błąd. Dlatego też wykonując rózne obliczenia programista musi przewidzieć okoliczność coby w wyniku różnych działań nie przekroczyć zakresu. W naszym przypadku wystarczyłoby operować na bajcie czyli 8 bitach i byłoby po problemie, chociaż nie do końca, bo tutaj zakres jest od -128 do 127 itd.

Ćwiczenia:
Przedstaw liczby: -115, -41, -100 w zapisie U2 dla liczby całkowitej zapisanej na bajcie.

hrabia Bajtuś
Prezes Hasselandzkiego Banku Krajowego
Administrator system EGO
Lord Konstabl Królestwa Hasselandu

Offline Bajtuś

  • Obywatel
  • Fanatyk
  • ****
  • Wiadomości: 1077
  • : 55
  • Płeć: Mężczyzna
    • NPE: KH15082500082
    • Zobacz profil
    • Odznaczenia
Wykład 6: Zmienny przecinek
« Odpowiedź #18 dnia: Pią, 13 Maj 2016, 16:41:33 »
Wykład 6: Zmienny przecinek

Z poprzednich rozważań wiadomo już jak można zapisać binarnie liczbę całkowitą. Czas na liczby rzeczywiste.
I tutaj z pomocą przyszły logarytmy. Ci co coś więcej łykneli matematyki (przez duże M0 wiedzą o co chodzi. W logarytmach wyróżnia sie ceche liczby i mantysę.  Dlaczego to wybrano. Ano zobaczmy na przykładzie dwóch licz: 12345678.987654321 i
0.0000000000000000123456. Jaki zapis dawałby podobny wygląd tych liczb coby je wstawić do pamięci (czyli zapisać binarnie).
Najlepiej byłoby przedstawić je w notacji naukowej (czyli zapisie lwykładniczo-logarytmicznym).
i tak pierwszą w przybliżeniu można było by zapisać jako:0.12345*10 do potęgi 8, a drugą: 0,12345*10 do potęgi -17.
O i mamy podobnie wyglądające liczby.
To co stoi przed 10 nazwano mantysą liczby (zakres od 0,1) potęga dziesiątki nazwano cechą.

Najprostsze  liczby zmiennoprzecinkowe można przechować na 3 bajtach.
pierwszy cecha zakres od -128 ... 127
mantysa na pozostałych dwóch przedstawiająca 15-bitowa liczbę ze znakiem
Dokładność tych liczb była dosyć dobra - biblioteki do operacji na 3 bajtowym zmiennym przecinku opracowano w IEA na potrzeby obliczeń do pomocy operatorom bloku energetycznego w EB. Źródło było publikowane w literaturze i napisane było w języku assembler na procesor Intel 8080.
W obecnych językach programowania na zmienny przecinek przyjmuje się od 8 do 16 bajtów.


hrabia Bajtuś
Prezes Hasselandzkiego Banku Krajowego
Administrator system EGO
Lord Konstabl Królestwa Hasselandu