Numerikus változók és adattípusok

Numerikus változók és adattípusok

Az egyik legnagyobb akadály a RAM és a számítógép sebessége. A programozónak mindig azt kell gondolnia, hogyan csökkentheti a program memóriaigényét. A probléma megoldásának egyik módja a programban használt változók számának korlátozása vagy a memóriakártyák méretének csökkentése azok tárolására.

Már tudja, hogyan deklarálhatja az egész és az anyagtípus változóit. Ezen változók mellett a Delphi rendszerben több más típusú adat is létezik. Ezek egymástól csak a tárolásukhoz szükséges memória méretében különböznek egymástól, és ennek megfelelően az ezeken a változókon tárolható számtartományt. Így a programozó kiválaszthatja a kívánt numerikus típust, és racionálisan használhatja a memóriát. Tehát mi az adat típus.

Bármely adat, azaz a konstansok, változók, tulajdonságok, függvényértékek vagy kifejezések a Delphi-ban a típusukra jellemzőek. Egy típus definiálja az objektumnak megfelelő érvényes értékek készletét, valamint a hozzá tartozó érvényes műveletek halmazát. Ezenkívül a típus meghatározza a belső adatok ábrázolásának formátumát a PC memóriában.

A Delphit az elágazó adatfajták szerkezete jellemzi:

Numerikus változók és adattípusok

Eddig csak egyszerű típusokat vizsgálunk Önnel.

A megrendelési típusok különböznek egymástól, mivel mindegyiküknek véges számú lehetséges értéke van. Ezeket az értékeket bizonyos módon rendezheti (tehát a típusok nevét), és ezért mindegyikhez hozzá lehet rendelni egy egész számot - az érték rendszáma.

A rendelési típusok közé tartozik az egész, a logikai, a szimbolikus, a felsorolt ​​és a típusválaszték. Bármelyik közül az Ord (x) függvény használható, amely az X kifejezés értékének sorszámát adja vissza.

A 0 kódokkal rendelkező karakterek a szervizkódokra vonatkoznak. Ha ezeket a kódokat a program szimbolikus szövegében használják, akkor szóközöknek tekinthetők.

A típus char számára a kapcsolati műveletek, valamint a beépített függvények is megvalósulnak:

Chr (c) egyfajta char karakter függvénye; egy kifejezést bájt típusúvá alakítja egy karakterré, és értékként adja vissza;

A UpCase (CH) egy char függvény; egy nagybetűs levelet küld vissza, ha cn kisbetűs latin betű, különben a karakter maga visszatér (a cirill karakter visszaadja az eredeti karaktert).

Ellentétben a soros típus, amelynek értéke mindig összehasonlítjuk egy sor egészek, ezért bemutatott pontosan PC, az értékek a valós típusok határozzák meg tetszőleges számú csak véges pontosság, független a belső formátumát valós szám.

Jelentős számjegyek száma

+/ -922 337 203 685477,5807

A korábbi verzióiban Delphi 1. Real tartott 3-as típusú 6 bájt, és egy sor értékek TE2, 9 x 10 -39 1,7 × 10 38 változatai 4. és 5. ilyen típusú egyenértékű típusa kétszeres. Ha a kompatibilitási okokból 6 bájtos Real-t szeretne használni, meg kell adnia a fordítói irányelveket.

Mint az előző táblázatból látható. A Delphi valós száma 4-től 10 egymást követő bájtig terjed, és a következő struktúrában van a PC memóriájában:

Itt s a szám aláírt számjegye; e az exponenciális rész; bináris sorrendet tartalmaz; m a szám mantissa.

Mantissa m hossza 23 (egy-egy), hogy 63 (a kiterjesztett) bitek, amely biztosítja a pontosságát egységes 7. 8. és 19. kiterjesztette 20 decimális számjegy. Tizedespont (vessző) azt jelenti, mielőtt a bal (legjelentősebb) bit a mantissza, de működik számos álláspontját eltolódott balra vagy jobbra szerint bináris érdekében a tárolt számot exponenciális rész azonban intézkedések valós számok úgynevezett aritmetikai lebegőpontos (külön) .

Megjegyezzük, hogy a számtani koprocesszor mindig feldolgozza számok a kiterjesztett formátumban, a másik három anyag ebben az esetben úgy kapjuk csonkolása az eredményeket a kívánt méretet, és főleg a memóriát.

A valós adatokkal való együttműködéshez a következő táblázatban bemutatott beépített matematikai függvényeket használhatja. Ebben a táblázatban a Real jelentése valódi típus, egész szám bármely egész szám.

A Delphi standard matematikai függvényei

Az érvelés típusa Real

Arctangent (radianban kifejezett érték)

Koszinusz, szög a radianokban

A szám törtrésze

A szám teljes egésze

Pszeudovéletlen szám egyenletesen elosztva a 0. tartományban. [1]

Pszeudo-véletlenszerű egész szám, amely egyenletesen eloszlik a 0. tartományban (x-1)

Pszeudo-véletlenszám-generátor indítása

Szinusz, szög a radianokban

Megjegyzés pszeudo véletlenszám-generátor egy olyan funkció, hogy vesz egy egész úgynevezett bázis, megváltozik szinten egy bizonyos algoritmus szerint, és az eredmény az új számot. Ezzel párhuzamosan az új szám lesz a bázis a következő funkciókhoz való hozzáféréshez; .., Stb (Mivel az eljárás nem változtatja meg az algoritmus: a munkája során, a számok hívják áivéietlen.) A Rendszer Rendszer egység, amely automatikusan elérhető bármely program, a bázis szám tárolódik a változó nevű RandSeek és mindig van egy kezdeti értéke 0. Ez ez azt jelenti, szekvenciális hozzáféréséhez random különböző programok (vagy több fut egy program) mindig esik azonos sorrendben pszeudo-véletlen számokat.

Valódi számok ábrázolása

A valós számok a képükön egy pontot és / vagy exponenst tartalmaznak (az E vagy e jel), például:

Adattípus konverziós funkciók

Kerek (x) az igazi szám legközelebbi egész számra kerekítése. A függvény argumentuma valódi érték, és az eredmény egy Longint érték, amelyet a legközelebbi egész számra kerekítünk. Ha az eredmény meghaladja a Longint értékek tartományát, hiba lép fel a program végrehajtásakor.

Trunc (x) - a valós szám egészének megszerzésével. Az eredmény típus a Longint. Ha az eredmény meghaladja a Longint értékek tartományát, hiba lép fel a program végrehajtásakor.

Az adatok meghatározott típusú TDateTime ugyanazokat a műveleteket az valós számok, és az állandók és a változók egy igazi fajta és részt vesznek kifejezést a maga nemében.

A dátum és az idő együttes használatához a következő táblázatban felsorolt ​​alprogramokat használjuk.

Subroutines a dátummal és az idővel történő munkavégzéshez

Funkció dátuma: TDateTime;

Funkció DateToStr (D: TDateTime): String;

Kapcsolódó cikkek