Kierunkowe: arytmetyka

This commit is contained in:
Jan Potocki
2019-02-03 15:52:27 +01:00
parent 959f5973c4
commit 7125acaf78
+24
View File
@@ -1,3 +1,27 @@
# Arytmetyka stało- i zmiennoprzecinkowa
__Liczby stałoprzecinkowe__
W reprezentacji stałoprzecinkowej każdy bit ma zawsze taką samą wagę (zależącą od swojej pozycji) i co za tym idzie, pozycja przecinka jest ustalona z góry. Do kodowania liczb najczęściej wykorzystuje się system uzupełnieniowy do dwóch (U2), pozwalający zapisać zarówno liczby dodatnie, jak i ujemne oraz czasem naturalny kod binarny (NB), kiedy obliczenia prowadzone są tylko na liczbach dodatnich. Zaletą arytmetyki stałoprzecinkowej są zawsze dokładne obliczenia (w granicach precyzji określanej przez wagę najmłodszej cyfry) oraz duża szybkość wykonywania działań, wadą jest stosunkowo niewielki zakres możliwych do zapisania wartości.
__Liczby zmiennoprzecinkowe__
W reprezentacji zmiennoprzecinkowej liczby przechowywane są w postaci notacji wykładniczej:
X = S \* M \* 2 <sup>E</sup>
S __znak__
M __mnożnik (mantysa)__
E __wykładnik__
Wagi poszczególnych bitów (i pozycja przecinka) zależą więc od wartości wykładnika i mogą się zmieniać. Taka reprezentacja pozwala zapisać liczby z bardzo dużego zakresu, które w reprezentacji stałoprzecinkowej wymagałyby stosunkowo dużej liczby bitów. Wadą arytmetyki zmiennoprzecinkowej jest wolniejsze wykonywanie operacji i mniejsza dokładność działań, wynikająca z błędów zaokrągleń.
Precyzja obliczeń zmiennoprzecinkowych zależy przede wszystkim od liczby bitów przeznaczonych na zapis liczby. Stosowane w informatyce formaty zapisu liczb zmiennoprzecinkowych są określone w standardzie __IEEE 754__. Definiuje on:
- __liczby pojedynczej precyzji (float)__ 32 bity: 1 bit znaku, 8 bitów wykładnika, 23 bity mnożnika
- __liczby podwójnej precyzji (double)__ 64 bity: 1 bit znaku, 11 bitów wykładnika, 52 bity mnożnika
Istnieją też niestandardowe formaty liczb zmiennoprzecinkowych, np. 80-bitowy format rozszerzonej precyzji, stosowany wewnętrznie w jednostkach zmiennoprzecinkowych (FPU) procesorów x86.
W obliczeniach zmiennoprzecinkowych może występować zjawisko __kumulacji błędów__, którego efektem są wyraźnie odbiegające od prawdziwych wyniki wielu wykonywanych kolejno działań arytmetycznych zdarzały się nawet w historii przypadki katastrof rakiet kosmicznych, spowodowanych słabo jeszcze wtedy rozumianymi właściwościami arytmetyki zmiennoprzecinkowej. Z powodu zjawiska kumulacji błędów, arytmetyki zmiennoprzecinkowej nie powinno się używać między innymi w obliczeniach finansowych.
# Model TCP/IP # Model TCP/IP
Model TCP/IP to warstwowy model struktury protokołów komunikacyjnych w sieciach komputerowych, opracowany razem z odpowiadającym mu zestawem protokołów w latach 70. w agencji DARPA (Stany Zjednoczone); sam model jak i zestaw protokołów TCP/IP został zaprojektowany w otwartej architekturze i nie jest ograniczony żadnymi patentami ani prawami autorskimi. Model TCP/IP to warstwowy model struktury protokołów komunikacyjnych w sieciach komputerowych, opracowany razem z odpowiadającym mu zestawem protokołów w latach 70. w agencji DARPA (Stany Zjednoczone); sam model jak i zestaw protokołów TCP/IP został zaprojektowany w otwartej architekturze i nie jest ograniczony żadnymi patentami ani prawami autorskimi.