Kérdés a számítás a gép epszilon-

E. Valentin, kérjük, fejtse ki egy kicsit a számítás gép epszilon és ellenőrzik a szélessége a táblázat alapján az, hogy a szám végrehajtásához szükséges természetesen a munka. Van egy FreeBSD 6.0 és két fordító, Free Pascal és a GNU Pascal. Előadások során javasol vesszük a következő példa kiszámítja a gép epszilon -

kezdődik
EPS: = 1;
míg a (1 + EPS / 2)> 1 do
kezdődik
EPS: = eps / 2;
végén;
writeln ( 'gépnek Epsilon =', eps kerek (7-ln (EPS) / ln (10)).);
végén.

1. Ez a forma számának megadásával lényeges eleme a kimenet csak akkor alkalmazható a GPC és a Compaq pc? Kapok két különböző eredményeket

GPC -
gép epszilon = 2.2204460492503131e-16

fPC -
gép epszilon = 1.084202172485504E-019

Fpc ahogy ebben a formában kiadási összegét meghatározó kimenő karakterek, de a megjelent szám ettől a pontosabb nem jelenik közvetlenül azelőtt, hogy a pozíciót betöltő terek. Vagy valami, amit nem igazán érti?

Továbbá, az alakja a kimeneti FPC otilchaetsya páros számú járulékos szimbólumokból a kimeneti - a megadott sorrendben háromjegyű szám, ebben az esetben, mivel a -019 alatt -005 ° -5 hasonlók. Ie Ez nem nagyon ellenálló formája a fordító kimenete.

By the way, interestny tény - ha önkényesen növeli a megjelenített karakterek száma jelentős, például a következők szerint: -
writeln ( 'gépnek Epsilon =', eps kerek (35-ln (EPS) / ln (10)).);

megkapjuk a következő végeredmény -

gép epszilon = 2.22044604925031308084726333618164062500000000e-16

azaz szempontjából a karakterek száma pontosabb számot. Korlátozása mantissza 16 tizedesjegy pontossággal, értelmes szimbólumok részben maszkírozott. Bár a gép már nem számot elosztjuk a 2, a ciklus véget ér, ez a szám a végeredményt. És ha megjeleníti az összes köztes eredményeket, akkor nagyon interestno nézni, hogy mi a határ kezd veszíteni jelképek.

Üdvözlettel
Shafirin Yuri.
c. 18-101

adminisztrátor
Regisztrált: 8 évvel ezelőtt
Hozzászólások: 2857

Szia, Yuri! Azt írta:

> E. Valentin, kérjük, fejtse ki egy kicsit
> Epsilon számítás motor és szabályozó szélessége a táblázat
> Alapján a megrendelés számát,

előadások beszéltünk csak a számítás a mező szélességét a töredék része a gép epszilon!

> Kötelező, hogy a tanfolyamot
> Work. Van egy FreeBSD 6.0 és két fordító, Free Pascal és a GNU
> Pascal. Előadások során javasol a bázis
> A következő példa számítási gép epszilon -
>
> Program GetEpsilon (output);
>
> Var EPS. igazi;
>
> kezdődik
> Eps: = 1;
> Miközben (1 + EPS / 2)> 1 do
> kezdődik
> Eps: = eps / 2;
> End;
> WriteLn ( 'gépnek Epsilon =', eps kerek (7-ln (EPS) / ln (10)).);
> End.
>
A teljes szélessége a területen, mi csak kitalálta (7), és az egyik műhelyek folyamatos kutatás felé teljes szélességében kiszámíthatóság.

> Kérdések -
>
> 1. Ez a forma meghatározó elemek száma jelenik meg jelentős
> Csak a GPC és a Compaq pc? Kapok két különböző
> találatok
>
> GPC -
> A gép epszilon = 2.2204460492503131e-16
>
> Fpc -
> A gép epszilon = 1.084202172485504E-019
>
> Mint látható ebben a formában FPC kimeneti számát határozza meg
> Output karaktereket, de a megjelenített szám ettől a pontosabb nem jelenik meg,
> Csak töltés előtt a helyzetét terek. Vagy valami, amit
> Nem jól értettem?
>

Ezek különböző típusú anyag (a veszélyeire alapértelmezett!). A módszer mindig alkalmazható, így hasznos, amely kiszámítja a precíziós ténylegesen használt típus.
> Ezen felül az alak a kimenet a FPC otilchaetsya páros
> Felső szimbólumok kimenet - meghatározott sorrendben három számjegyű
> Szám, ebben az esetben, mivel a -019 alatt -005 ° -5 tetszik. Ie
> Nem nagyon ellenálló formája a fordító kimenete.
>
> Mellesleg interestny tény - ha önkényesen nőtt
> Jelentős számú kimeneti szimbólum szám, pl
> Az alábbiak szerint -
> WriteLn ( 'gépnek Epsilon =', eps kerek (35-ln (EPS) / ln (10)).);
>
> Kapunk a következő végeredmény -
>
> A készülék epszilon =
> 2.22044604925031308084726333618164062500000000e-16
>
> Ie szempontjából a karakterek száma pontosabb számot.
Ez a szám ugyanaz a pontosság, és a legtöbb tizedesjegy a tizedesvessző után (17-én és 44-én) a baj, széttöredezi (chips, forgács) függvény deinterpretatsii belső ábrázolása a kimenetet. Néha használják pontosabb valós típusú, de akkor adjunk legfeljebb 3 karakter: alig otthoni számítógépén több mint 80 bites valós aritmetika.

> Korlátozása a mantissza 16 tizedesjegy pontossággal, értelmes
> karakterek

> Részben maszkos.

Ők valahogy értelmetlen! Nem lehet nagyobb jelentősége mantissza !!

> Bár a gép nem igaz
> Szám osztva 2, mert ciklus véget ér, ez a szám
> Ez a legújabb eredmény. És ha visszavonja az összes
> Az első eredmények azt nagyon interestno nézni
> A határ kezdi elveszíteni jelképek.
>
> Üdvözlettel:
> Shafirin Yuri.
> T. 18-101

adminisztrátor
Regisztrált: 8 évvel ezelőtt
Hozzászólások: 2857

> Az előző bejegyzésben nem egészen világosan látja a különbséget
> Az a program lezárása összeállításához és FPC GPC közötti réseket
> = Jel és az első számjegy eltávolítjuk fórum, úgyhogy a helyükbe
> Sign "_" -
>
> Fpc (négy terek) -
> Kalózkodik @ FreeBSD01 $ / home / privateer / geteps
> A gép epszilon = ____ 1.084202172485504E-019
>
> GPC (egy térben) -
> Kalózkodik @ FreeBSD01 $ /home/privateer/a.out
> A gép epszilon = _2.2204460492503131e-16

FPC minden alapértelmezett, a kiterjedés és összehúzódás kell Borland'u és GPC lehetősége van a következő a különböző nyelvjárásokat, Pascal szabványoknak. Következtetés Pascal nem szabványosított, de még a saját eszközeivel lehet elég vékony ahhoz, hogy kezelni azt. Különösen az olimpiai játékok programozás automatikus tesztelési feladatok fenntartásához szükséges a pontos kimeneti formátumot.

Nagyon köszönöm a válaszokat. Én továbbra is dolgozni magát.

Üdvözlettel
Jurij Shafirin.
gr.18-101

Sajnos csak regisztrált felhasználók elhelyezhet ebben a fórumban.

Kapcsolódó cikkek