The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
Egész számokat tartalmazó típusok: char, short, int, long, long long
Nézzünk néhány példát:
char cvar = 50; char cvar = 50; rövid svar = 50; int ivar = 50; hosszú lvar1 = 50; hosszú lvar2 = 50;
Alapvető aritmetikai operátorok:
A legtöbben ismerik az alapvető aritmetikai operátorokat és az elsőbbségi sorrendet: + , -, *, /
Íme néhány példa az Unary operátor használatára: ++ és --:
| Kifejezés | Egyenértékű | Szintén egyenértékű |
|---|---|---|
| cvar += 5; | cvar = cvar + 5; | |
| ++cvar; | cvar++; | cvar = cvar + 1; |
| --cvar; | cvar--; | cvar = cvar - 1; |
Vigyázz a++ vs. ++ változóra!
++változó
int x = 10, y = 20; X = ++y;
Megjegyzés: a művelet után: X = 21, és Y is = 21.
változó++
int x = 10, y = 20; X = y++;
Megjegyzés: a művelet után: X = 20 és Y = 21.
Hasonlítsa össze az egész adattípust
Létezik egy csoport vagy adattípus, amely pozitív és negatív értéket is engedélyez – „előjeles”. Ezt azonban nem kell megadnia, mivel ez implicit. Lásd alább:
| Adattípus | A legkisebb érték | Legnagyobb érték |
|---|---|---|
| char | -2 7 vagy -128 | 2 7 - 1 vagy 127 |
| rövid | -2 15 vagy -32 768 | 2 15 - 1 vagy 32 767 |
| int | -2 31 vagy -2 147 483 648 | 2 31 – 1 vagy 2 147 483 647 |
| hosszú | -2 31 vagy -2 147 483 648 | 2 31 – 1 vagy 2 147 483 647 |
| hosszú hosszú | -2 63 vagy -9 223 372 036 854 775 808 | 2 63 – 1 vagy 9 223 372 036 854 775 807 |
Létezik olyan csoport vagy adattípus, amely csak pozitív értéket engedélyez – „unsigned”.
| Adattípus | A legkisebb érték | Legnagyobb érték |
|---|---|---|
| előjel nélküli char | 0 | 2 8 - 1 vagy 255 |
| aláírás nélküli rövid | 0 | 2 16 - 1 vagy 65 535 |
| aláíratlan int | 0 | 2 32 – 1 vagy 4 294 967 295 |
| aláíratlan hosszú | 0 | 2 32 – 1 vagy 4 294 967 295 |
| aláíratlan hosszú hosszú | 0 | 2 64 – 1 vagy 18 446 744 073 709 551 615 |
Hogyan ellenőrizhető az adatméret?
Egyelőre ismernie kell a( ) size of( ) operátorát. Ez biztosítja a „bájtoknak” nevezett memóriatároló egységet – amelyről a következő részben lesz szó.
A bájtok számát a sizeof()operátor segítségével kell beírni. Próbálkozzon ezzel, hogy saját maga ellenőrizze őket. Ha másik vezérlőre vált, a következőket bármikor ellenőrizheti.
Brain.Screen.setFont(fontType::mono30); Brain.Screen.printAt(1, 20,"a karakternek %d bájtja van", sizeof(char)); Brain.Screen.printAt(1, 50,"rövidnek %d bájtja van", sizeof(short)); Brain.Screen.printAt(1, 80,"int %d byte", sizeof(int)); Brain.Screen.printAt(1, 110, "long has %d byte", sizeof(long)); Brain.Screen.printAt(1, 140, "long long %d byte", sizeof(hosszú hosszú)); Brain.Screen.printAt(1, 170, "float has %d byte", sizeof(float)); Brain.Screen.printAt(1, 200, "double has %d byte", sizeof(double));
Mit jelent a bájt?
A „byte” az adattárolás szabványos egysége.
Egy bájt = 8 bit. Az egyik bit a legkisebb memóriaegység, amelynek csak 1-es és 0-s értéke lehet (bináris érték). A rendszerből megszerezhető legkisebb memóriaegység azonban 1 bájt; így nem kérhetsz 1,5 byte-ot stb.
Vessünk egy pillantást a charra. Elég rövid ahhoz, hogy könnyen megjeleníthető legyen.
Ha minden 1-essel van megtöltve, 28-1-et kap. Ennek az értéknek kell lennie az „előjel nélküli karakter” maximális értékének.
A rendszer fenntartja a legmagasabb rendű bitet, hogy negatív értéket adjon. Így a „char” maximális értéke -128 és 127 között van. A kapacitás azonban továbbra is ugyanaz, mint az „unsigned char”, az adattartománybeli eltérés ellenére.
A számítógépben a Kettő komplementjének nevezett műveletet használja. Ez a Bitwise művelet témaköreinek része, amely nem tartozik a dokumentum hatálya alá. Erről a témáról bővebben egy másik dokumentumban lesz szó.
Mi a különbség a char és az int között?
Íme néhány gyakori használat a "char" és az "int" kifejezésekre:
char var1 = '9'; int var2 = 9;
Általános tévhit, hogy a „char” csak olyan szimbólumokat tartalmazhat, mint az „a”, „b” vagy „9”. Ez helytelen.
Valójában a "char" típus megegyezik az "int" típussal, kivéve, hogy a char kapacitása csak 1 bájt, az int kapacitása pedig 4 bájt. Így az adatméret-tartomány eltér a kettő között. Ezt a fenti adattartomány-táblázatban láthatja.
A következő kódszegmensek világosabb képet adnak a char és int.
int iX = '0'; karakter cX1 = 49; karakter cX2 = 50; Brain.Screen.printAt(3, 20, "int reprezentációja '%c' = %d",iX, iX); Brain.Screen.printAt(3, 50, "int reprezentációja '%c' = %d",cX1, cX1); Brain.Screen.printAt(3, 80, "int reprezentációja '%c' = %d",cX2, cX2); Brain.Screen.printAt(3, 140, "Tehát '%c' - '%c' = %d ", cX2, iX, cX2 - cX1);
Kimenet:
int '0' = 48 int '1' = 49 1 ' ' int reprezentációja = 50 Tehát '2' – '0' = 1
Felmerülhet benned a kérdés: Miért mutatja a 0 48-at?
Ez az „ASCII kód” konverziónak nevezett témakörökhöz vezet. Az ASCII szabvány az IEEE egyik nagyszerű mérföldköve, amelyet még 1963-ban tettek közzé. Ez kívül esik a cikk hatókörén. Javasoljuk, hogy nézze meg az ASCII kódtáblázatot online. Az ASCII kódtáblázatról rengeteg információt talál az interneten.