Thread View: pl.comp.programming
3 messages
3 total messages
Started by szer...
Thu, 02 Nov 1995 00:00
Real - Pascal
Author: szer...
Date: Thu, 02 Nov 1995 00:00
Date: Thu, 02 Nov 1995 00:00
71 lines
2932 bytes
2932 bytes
Witam czytaczy news`ow!!! ;-)) Ciesze sie, ze moje pytanie nie pozostalo bez odzewu. Czesc problemu zdolalem juz rozwiazac.Tzn. udalo mi sie ustalic jak zbudowany jest ten typ w Pascalu. I wyszlo mi cos innego niz zaproponowal p. Adam Glowacki. Oto moj opis Pascalowego Real`a. ;-) - sklada sie z 6-ciu Bajtow - w pliku poszczegolne bajty zapisywane sa w odwrotnej kolejnosci - Pascal przy operacjach na tym typie przechowuje go w rejestrach DX,BX,AX - pierwsza liczba i DI,SI,CX - druga liczba (o ile wystepuje); wyglad real`a w "pamieci" (rejestrach procesora): 1 39 0 7 0 z mantysa wykladnik wykladnik zapisany jest na jednym bajcie; mantysa na pieciu w tym na 39-tym bicie jest zapisany znak liczby wartosc liczby tak zapisanej mozna wyznaczy ze wzoru wynik:=(-1)^znak * M * W gdzie: W:=2^(wykladnik - 128) ;wykladnik wartosc bajtu (dziesietnie) M:=1/2 + m[38] * 1/4 + m[37] * 1/8 + ... + m[0] * 1/(2^40) ;m[a] wartosc bitu na pozycji a Uwaga! Wartosc 0 jest zapisana, gdy mantysa i wykladnik skladaja sie z samych zer. roznica polega na tym, ze ja od wykladnika odejmuje 128 (a nie 129) oraz wartosc domysla od ktorej zaczynamy zliczanie mantysy to 1/2 (a nie 1) Ktory z tych opisow jest poprawny bede musial sprawdzic. W ramach wyjasnienia nieszczesnej liczby "binarnej". Chodzi o taki sposob przekonertowania okrojonego real`a, aby zapisac go w taki sposob, by dla kolejnych liczb nastepowala zmiana tylko na jednym bicie. przyklad: dla liczb calkowitych 000 0 001 1 011 2 010 3 itd. Tego typu kodowanie liczb zaproponowal Grey i dlatego sie do niego odwolalem. Odpowidajac na pytanie dotyczace sensownosci "rozgryzania" real`a w erze koprocesorow i jego zamiany to musze wyjasnic, ze wynika to ze specyfiki tworzonego programu. Sklada sie on z nastepujacych czesci. 1 - sieci neuronowej operujacej na typie real (ulubiona reprezentacja wag) 2 - programu genetycznego (PG) uczacego siec (lubiacy operowac na bitach). Co z tego wynika? Otoz jezeli pozwolimy PG operowac na typie real (lub podobnym) to zmiana jednego bitu moze spowodowac ogromna zmiane liczby (np. bity w wykladniku). Dlatego instnieje koniecznosc innej reprezentacji liczby, tak aby zmiana bitu powodowala jedynie mala zmiane liczby. Mam nadzieje, ze tym razem jest wszystko jasne :-))). Jesli nie, to prosze o kolejne pytania. ______________________________________________________________________________ e-mail: szer...@ci-1.ci.pwr.wroc.pl
Re: Real - Pascal
Author: Adam Glowacki
Date: Thu, 02 Nov 1995 00:00
Date: Thu, 02 Nov 1995 00:00
3 lines
564 bytes
564 bytes
oba zapisy liczby real sa poprawne (tzn tozsame)! Adam :-)
Re: Real - Pascal
Author: l... Jarek Lis
Date: Thu, 02 Nov 1995 00:00
Date: Thu, 02 Nov 1995 00:00
21 lines
1457 bytes
1457 bytes
Adam Glowacki (ad...@ibm530.chemie.th-merseburg.de) wrote: : oba zapisy liczby real sa poprawne (tzn tozsame)! Zaraz, o jakich zapisach Ty piszesz? 4-ro i 6-cio bajtowym? Tozsame? Dawno, dawno temu, Borland wiedzac ze koprocesory sa drogie, a ich emulatory powolne, wymyslil wlasna biblioteke zmienno-przecinkowa, wprowadzajac typ real, 6-cio bajtowy. Kierunek projektu byl taki, zeby operacje dalo sie zrealizowac jak najszybciej. Bodajze jesli program jest kompilowany na koprocesor i emulator, to zamiast typ real jest zastepowany koprocesorowym typem single (4-ro bajtowym). Ale tozsame real z single nie sa. Jaroslaw Lis +------------------------------------------------------------------------+ | l...@ict.pwr.wroc.pl | Institute of Engineering Cybernetics | | tel 48-71-202636 | Technical University of Wroclaw, Poland | | fax 48-71-203408 or 517398 | | +------------------------------------------------------------------------+
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads