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:
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;