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.
Tipai, kuriuose yra sveikieji skaičiai: char, short, int, long, long long
Pažvelkime į keletą pavyzdžių:
char cvar = 50; char cvar = 50; trumpas svar = 50; int ivar = 50; ilgio lvar1 = 50; ilgio lvar2 = 50;
Pagrindiniai aritmetiniai operatoriai:
Daugelis yra susipažinę su pagrindiniais aritmetiniais operatoriais ir pirmumo tvarka: + , -, *, /
Štai keletas pavyzdžių, kaip naudoti operatorių Unary: ++ ir --:
| Išraiška | Lygiavertis | Taip pat lygiavertis |
|---|---|---|
| cvar += 5; | cvar = cvar + 5; | |
| ++cvar; | cvar++; | cvar = cvar + 1; |
| --cvar; | cvar--; | cvar = cvar - 1; |
Saugokitės kintamojo++ prieš ++ kintamąjį!
++kintamasis
int x = 10, y = 20; X = ++y;
Pastaba: po šios operacijos: X = 21, o Y taip pat = 21.
kintamasis++
int x = 10, y = 20; X = y++;
Pastaba: po šios operacijos: X = 20 ir Y = 21.
Palyginkite sveikųjų skaičių duomenų tipą
Yra grupė arba duomenų tipas, leidžiantis tiek teigiamą, tiek neigiamą reikšmę – „pasirašytas“. Tačiau to nurodyti nereikia, nes tai yra numanoma. Žiūrėkite žemiau:
| Duomenų tipas | Mažiausia vertė | Didžiausia vertė |
|---|---|---|
| char | -2 7 arba -128 | 2 7 - 1 arba 127 |
| trumpas | -2 15 arba -32 768 | 2 15 - 1 arba 32 767 |
| tarpt | -2 31 arba -2 147 483 648 | 2 31 – 1 arba 2 147 483 647 |
| ilgai | -2 31 arba -2 147 483 648 | 2 31 – 1 arba 2 147 483 647 |
| ilgas ilgas | -2 63 arba -9 223 372 036 854 775 808 | 2 63 – 1 arba 9 223 372 036 854 775 807 |
Yra grupė arba duomenų tipas, leidžiantis tik teigiamą reikšmę – „nepasirašytas“.
| Duomenų tipas | Mažiausia vertė | Didžiausia vertė |
|---|---|---|
| nepasirašytas char | 0 | 2 8 - 1 arba 255 |
| nepasirašytas trumpas | 0 | 2 16 - 1 arba 65 535 |
| nepasirašytas tarpt | 0 | 2 32 – 1 arba 4 294 967 295 |
| nepasirašytas ilgas | 0 | 2 32 – 1 arba 4 294 967 295 |
| nepasirašytas ilgas ilgas | 0 | 2 64 – 1 arba 18 446 744 073 709 551 615 |
Kaip patikrinti duomenų dydį?
Šiuo metu turėtumėte žinoti sizeof( ) operatorių. Tai suteikia atminties saugojimo įrenginį, vadinamą „baitais“, kuris bus šiek tiek aprašytas kitame skyriuje.
Pavyzdys, nurodantis baitų skaičių, turi būti įvestas naudojant operatorių sizeof(). Išbandykite tai, kad patikrintumėte juos patys. Jei pakeičiate į kitą valdiklį, visada galite atlikti šiuos veiksmus, kad patvirtintumėte.
Brain.Screen.setFont(fontType::mono30); Brain.Screen.printAt(1, 20,"char turi %d baitą", sizeof(char)); Brain.Screen.printAt(1, 50,"trumpas turi %d baitus", sizeof(short)); Brain.Screen.printAt(1, 80,"int turi %d baitus", sizeof(int)); Brain.Screen.printAt(1, 110, "ilgas turi %d baitus", dydis(ilgas)); Brain.Screen.printAt(1, 140, "long long has %d bytes", sizeof(long long)); Brain.Screen.printAt(1, 170, "float has %d bytes", sizeof(float)); Brain.Screen.printAt(1, 200, "double turi %d baitų", sizeof(double));
Ką reiškia baitas?
„Baitas“ yra standartinis duomenų saugojimo vienetas.
Vienas baitas = 8 bitai. Vienas bitas yra mažiausias atminties vienetas, kurio reikšmės gali būti tik 1s ir 0s (dvejetainė reikšmė). Tačiau mažiausias atminties vienetas, kurį galite gauti iš sistemos, yra 1 baitas; todėl negalite prašyti 1,5 baito ir pan.
Pažvelkime į char. Jis pakankamai trumpas, kad būtų galima lengvai parodyti.
Jei visa tai užpildyta 1, gausite 28-1. Ši vertė turėtų būti didžiausia „nepasirašyto simbolio“ reikšmė.
Sistema rezervuoja aukščiausios eilės bitą , kad gautų neigiamą reikšmę. Taigi didžiausia „char“ vertė svyruoja nuo -128 iki 127. Tačiau, nepaisant duomenų diapazono skirtumo, talpa vis dar yra tokia pati kaip „nepasirašytas simbolis“.
Kompiuteryje jis naudoja operaciją, vadinamą Dviejų papildymu. Tai yra „Bitwise“ operacijos temų dalis, kuri nepatenka į šio dokumento taikymo sritį. Daugiau šia tema bus aptarta kitame dokumente.
Kuo skiriasi char ir int?
Štai keletas bendrų „char“ ir „int“ naudojimo būdų:
char var1 = '9'; int var2 = 9;
Įprasta klaidinga nuomonė, kad „char“ gali turėti tik tokius simbolius kaip „a“, „b“ arba „9“. Tai neteisinga.
Tiesą sakant, "char" tipas yra toks pat kaip "int" tipas, išskyrus tai, kad char talpa yra tik 1 baitas, o int talpa yra 4 baitai. Taigi duomenų dydžio diapazonas skiriasi. Tai galite pamatyti aukščiau esančioje duomenų diapazono lentelėje.
Šie kodo segmentai suteiks jums aiškesnį char ir int vaizdą.
int iX = '0'; char cX1 = 49; simbolis cX2 = 50; Brain.Screen.printAt(3, 20, "int reprezentacija '%c' = %d",iX, iX); Brain.Screen.printAt(3, 50, "int reprezentacija '%c' = %d",cX1, cX1); Brain.Screen.printAt(3, 80, "int reprezentacija '%c' = %d",cX2, cX2); Brain.Screen.printAt(3, 140, "Taigi '%c' - '%c' = %d ", cX2, iX, cX2 - cX1);
Išvestis:
int atvaizdavimas '0' = 48 int '1' atvaizdas = 49 int '2' atvaizdas = 50 Taigi '2' – '0' = 1
Jums gali kilti klausimas: kodėl „0“ rodo 48?
Tai paskatins temas, pavadintas „ASCII kodo“ konvertavimu. ASCII standartas yra vienas puikių IEEE etapų, paskelbtų 1963 m. Tai nepatenka į šio straipsnio taikymo sritį. Raginame ieškoti ASCII kodų lentelės internete. Internete rasite daugybę informacijos apie ASCII kodų lentelę.