Pakiet matematyczny

From Atariki

Revision as of 09:10, 3 sty 2006; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

Pakiet matematyczny, zwany też pakietem procedur zmiennoprzecinkowych, to zawarty w systemie operacyjnym zestaw podprogramów służących do obliczeń na liczbach rzeczywistych. Zajmuje 2k pamięci ROM w obszarze od $D800 do $DFFF i jest intensywnie wykorzystywany przez interpreter Atari BASIC-a oraz wiele innych programów użytkowych (np. MAC/65, UmonXL itp., by już przemilczeć napisane w BASIC-u gry w rodzaju Crusade in Europe).

Pakiet matematyczny jest jedyną częścią systemu nie mającą własnej tablicy wektorów.

Format liczb FP

Dopuszczalny zakres liczb rzeczywistych dla obliczeń to od 10-98 do 1096, z dokładnością do 10 cyfr. Liczba kodowana jest na sześciu bajtach: pierwszy bajt zajmuje 1 bit znaku oraz siedem bitów wykładnika, pozostałe pięć bajtów to mantysa zapisana w kodzie BCD, po dwie cyfry na bajt, w kolejności od najstarszej do najmłodszej. Wykładnik jest to właściwy wykładnik liczby 100 zwiększony o 64.

Przykładowo, w ciągu liczb $41,$15,$36,$00,$00,$00 pierwszy bajt o wartości $41 to cecha. Najstarszy bit jest skasowany, jest to więc liczba dodatnia. Na pozostałych siedmiu bitach zapisany jest wykładnik liczby 100 zwiększony o 64 ($40). Wykładnik ten w danym przykładnie wynosi więc 1.

Dalej znajduje się mantysa zapisana w kodzie BCD. Punkt dziesiętny znajduje się po pierwszym jej bajcie, mamy tu więc zapisaną wartość 15,36 (piętnaście i trzydzieści sześć setnych). W połączeniu z obliczonym wyżej wykładnikiem liczby sto daje to 1001*15,36 = 1536.

Personal tools