Tipuri de date ordinale
Se returnează valoarea minimă pentru tipul de date
Low ( 'x') = # 0 Low (întreg) = # 8209; 2147483648
6.1.1.1 tipuri de date Integer
Tipurile de date integer sunt folosite pentru a reprezenta numere întregi. Tipuri de performanțe maxime sunt Integer și Cardinal. Ambele tipuri de memorie ocupă 4 octeți și să ia valori în dapazone: pentru Integer -2147483648..2147483647, pentru Cardina l 0..4294967295. În aceste cazuri, atunci când aveți nevoie de o gamă mai largă de numere, puteți utiliza tipul Int64.
Trebuie amintit faptul că operațiile aritmetice cu numere întregi au propriile lor caracteristici. Pentru a împărți operațiune utilizează div. care efectuează divizare întreg. Restul diviziunii întreg de un întreg poate fi găsit de Mod operare.
Pentru întreg date pot fi utilizate și operații logice precum și, sau, xor. Rezultatul va fi determinată folosind operația corespunzătoare din fiecare pereche de biți din reprezentarea binară a numerelor corespunzătoare. Atunci când se efectuează astfel de operațiuni utilizează frecvent reprezentare 16-ary a numerelor. Un semn al numărului 16-ary unui semn $ în fața ei, de exemplu, $ FF corespunde cu numărul zecimal 255 și $ 100 corespunde cu numărul zecimal 256.
Poate fi utilizat și operarea schimburi număr binar la stânga (SHL) sau dreapta (SHR), printr-un număr predeterminat de biți. Schimbarea dreapta de către un bit corespunde unui număr întreg de diviziuni de 2. Deplasare la stanga de un bit corespunde înmulțirea cu 2. De exemplu, ca urmare a unor instrucțiuni $ FF SHR 4, obținem rezultatul $ 0F.
6.1.1.2 Tipuri de caractere de date
Tipuri de caractere sunt utilizate pentru a reprezenta caractere. două soiuri de simboluri pot fi utilizate în Object Pascal:
- Tipul Char corespunde unui set de 256 de caractere în care caracterele sunt aranjate în conformitate cu codificare ANSI (American National Standard Code pentru schimbul de informații) tabel. Fiecare caracter de acest tip este de 1 octet. Corespondența între codul și simbolul corespunzător este definit de așa-numitul tabel de codare a caracterelor. Prima jumătate a tabelului (coduri de la 0 la 127) este utilizat pentru caractere de control, numere, litere și cele mai comune simboluri, cum ar fi semne de punctuație și operații matematice, etc. A doua jumătate a tabelului (coduri de la 128 la 255) este utilizat pentru alfabete și alte simboluri naționale.
- Tipul WideChar corespunde unui set de caractere Unicode în care fiecare caracter este de 2 octeți și, bineînțeles, acest tabel simbol poate conține o listă foarte mare de simboluri. Ele corespund codurilor în intervalul de la 0 la 65535. Primele 256 de caractere în acest set corespund caracterelor ANSI cu codurile corespunzătoare.
În laboratoarele noastre, vom folosi doar tipChar. Fragment tabelă de codare a caracterelor este prezentată mai jos în Tabelul 6.2.
Tabelul 6.2 - Criptare unele caractere ANSI
Fiți atenți la ordinea personajelor din structura de masă. Această procedură vă permite să organizați cuvinte și identificatori în ordine alfabetică, utilizând codul de caractere.
Constantele de caractere pot fi scrise în diferite moduri. Pentru cele mai multe caractere, puteți utiliza această imagine a unui simbol ghilimele simple. De exemplu, '1', 'z', '*'. Caracterele speciale sunt în mod convenabil reprezentate prin codul lor, ca un întreg, care este precedat de semnul #. De exemplu, # 0, # 8, # 13. In plus, orice simbol poate fi obținut prin utilizarea funcției chr (), în care codul de caractere ca argument. De exemplu, CHR (65) returnează literele majuscule 'A', și CHR (255) - o literă mică 'i' chirilic.
Transformarea inversă, adică transformarea caracterului în cod se poate face cu ajutorul funcției ord (). De exemplu, ord ( '0') returnează 48.
Când introduceți simbolurile din componente de clasă tEditează, trebuie să țină cont de faptul că proprietatea text revine componente nu este un simbol și un șir de caractere. Pentru a obține un singur caracter al șirului de a utiliza numărul de serie de caractere pe linie, înregistrând-o în paranteze pătrate, după numele unui șir de caractere. De exemplu, Edit1.text [1].
Pentru simboluri se aplică toate comparație. În acest caz, codurile de caractere sunt comparate. Prin urmare, 'b'> 'B' și 'o' mai mult decât limba latină 'a' chirilic.
grupuri de caractere care corespund literelor, aranjate în așa fel încât să se simplifice conversia litere majuscule la mici și vice-versa. Diferența în codificarea de litere mari și mici și alfabetul latin și română este de 20 $ sau 32. Prin urmare, pentru a transforma o literă mică în majuscule, suficient de cod pentru a scădea 32. Numărul 32 nu poate aminti, deoarece acesta poate fi obținut prin scăderea codul majuscule codul scrisoare de orizontală corespunzătoare. De exemplu, ord (z) - ord (Z), sau ord (a) - ORD (A).
Numerele de codificare caracteristică este faptul că un număr de simboluri de ronțăit mai mici corespund valorii sale numerică în reprezentarea binară. Acest lucru vă permite să converti cu ușurință numere din codul de caractere corespunzător numărului folosind operatori logici și măști și $ 0F. De exemplu, ca urmare a funcționării ord ( '5') și $ 0F număr rândul său 5.
Pentru a converti simbolurile în număr de posibile utilizări a faptului că numerele simbolurile urmează în tabelul care codifică una după alta într-o ordine crescătoare a acestor numere corespunzătoare.
Următoarele sunt două variante ale acestei transformări.
Prima variantă constructivă utilizează diferența de cod zero, iar cifra selectată care corespunde valorii numerice a numerelor de simbol
n: = ord (c) - 48; // ord echivalent (c) -ord ( '0');
Al doilea exemplu de realizare utilizează o astfel de operațiune de conversie și $ 0F masca $ 0F.
Maska const = $ 0F; // constant egal cu numărul binar 00001111
n: = ord (c) și maska; // masca elimină ridicat ciuguli
6.1.1.3 tip de date restricționate.
Pentru tipurile de ordine, puteți specifica sub-gama de valori posibile - acest lucru va fi un tip limitat.
Intervalul de valori de tip delimitate este dată de o expresie a formei: <минимальное значение>..<максимальное значение>.
var bigLetter. TCaps; luna. 1..12;
În aceste exemple variabila bigLettermozhet accepta numai caractere latine în litere majuscule, și valorile variabile de la 1 lună până la 12.
Object Pascal compilatorul are o opțiune pentru a include un control interval, atunci când atribuirea unei valori unui tip limitat -. Puteți activa în locul programului dumneavoastră în cazul în care doriți să începeți intervalul de testare, și opriți opțiunea oriunde. Când încercați să atribuiți o variabilă de valoare limitată, care merge dincolo de dat sub-banda, va arunca o excepție cu mesajul „eroare de validare Range“.
tip interval poate fi utilizat pentru setarea unei multitudini de tipuri de date prin încheierea interval paranteza. De exemplu, o mulțime de deșeuri de scrisori românești pot fi setate astfel încât [ „o“ .. „I“]. Pentru a determina afilierea unui simbol la un anumit set, astfel, pot fi utilizate în cadrul operațiunii. care returnează true, în cazul în care caracterul aparține mulțimii, și fals - dacă nu fac parte. De exemplu, rezultatul evaluării expresiei „5“ în [ „0“ .. „9“] este adevărată.