Muuttujien luominen kokonaisluvuille VEXcode Pro V5:ssä

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.

Tyypit, joissa on kokonaislukuja: char, short, int, long, long long

Katsotaanpa joitain esimerkkejä:

char cvar = 50;
char cvar = 50;
lyhyt svar = 50;
int ivar = 50;
pitkää lvar1 = 50;
pitkää lvar2 = 50;

Aritmeettiset perusoperaattorit:

Useimmat tuntevat aritmeettiset perusoperaattorit ja tärkeysjärjestyksen: + , -, *, /

Tässä on joitain esimerkkejä Unary-operaattorin käytöstä: ++ ja --:

Ilmaisu Vastaa Vastaa myös
cvar += 5; cvar = cvar + 5;  
++cvar; cvar++; cvar = cvar + 1;
--cvar; cvar--; cvar = cvar - 1;

Varo muuttujaa++ vs. ++muuttuja!

++muuttuja

int x = 10, y = 20; 
X = ++y;

Huomaa: tämän toiminnon jälkeen: X = 21 ja Y myös = 21.

muuttuja++

int x = 10, y = 20; 
X = y++;

Huomautus: tämän toiminnon jälkeen: X = 20 ja Y = 21.


Vertaa kokonaislukutietotyyppiä

On olemassa ryhmä tai tietotyyppi, joka sallii sekä positiivisen että negatiivisen arvon – "allekirjoitettu". Sinun ei kuitenkaan tarvitse määritellä sitä, koska se on implisiittinen. Katso alempaa:

Tietotyyppi Pienin arvo Suurin arvo
hiiltyä -2 7 tai -128 2 7 - 1 tai 127
lyhyt -2 15 tai -32 768 2 15 - 1 tai 32 767
int -2 31 tai -2 147 483 648 2 31 – 1 tai 2 147 483 647
pitkä -2 31 tai -2 147 483 648 2 31 – 1 tai 2 147 483 647
pitkä pitkä -2 63 tai -9 223 372 036 854 775 808 2 63 – 1 tai 9 223 372 036 854 775 807

On olemassa ryhmä tai tietotyyppi, joka sallii vain positiivisen arvon – "allekirjoittamaton".

Tietotyyppi Pienin arvo Suurin arvo
allekirjoittamaton merkki 0 2 8 - 1 tai 255
allekirjoittamaton lyhyt 0 2 16 - 1 tai 65 535
allekirjoittamaton int 0 2 32 – 1 tai 4 294 967 295
allekirjoittamaton pitkä 0 2 32 – 1 tai 4 294 967 295
allekirjoittamaton pitkä pitkä 0 2 64 – 1 tai 18 446 744 073 709 551 615

Kuinka tarkistat tietojen koon?

Toistaiseksi sinun pitäisi tietää ( ) -operaattorin koko. Tämä tarjoaa muistin tallennusyksikön, jota kutsutaan "tavuiksi", jota käsitellään hieman seuraavassa osassa.

Esimerkki, joka kertoo tavujen määrän, tulee kirjoittaa käyttämällä operaattoria sizeof(). Kokeile tätä varmistaaksesi ne itse. Jos vaihdat toiseen ohjaimeen, voit aina varmistaaksesi seuraavat toimet.

Brain.Screen.setFont(fontType::mono30);    
Brain.Screen.printAt(1, 20,"char on %d bytes", sizeof(char));
Brain.Screen.printAt(1, 50,"lyhyessä on %d tavua", sizeof(lyhyt)); 
Brain.Screen.printAt(1, 80,"intillä on %d tavua", sizeof(int));
Brain.Screen.printAt(1, 110, "pitässä on %d tavua", sizeof(pitkä));
Brain.Screen.printAt(1, 140, "pitkä pitkä on %d tavua", sizeof(pitkä pitkä));
Brain.Screen.printAt(1, 170, "floatissa on %d tavua", sizeof(float));
Brain.Screen.printAt(1, 200, "doublella on %d tavua", sizeof(double));

vartypes.png


Mitä tavu tarkoittaa?

"Tavu" on tavallinen tietojen tallennusyksikkö.

Yksi tavu = 8 bittiä. Yksi bitti on pienin muistiyksikkö, jolla voi olla vain arvot 1s ja 0s (binääriarvo). Pienin järjestelmästä saatava muistiyksikkö on kuitenkin 1 tavu; joten et voi pyytää 1,5 tavua jne.

Katsotaanpa char. Se on tarpeeksi lyhyt esitettäväksi helposti.

usignedchar.jpg

Jos kaikki on täynnä ykkösiä, saat 28-1. Tämän arvon tulee olla suurin arvo, jonka "etumerkittömän merkin" tulee olla voimassa.

charvalues.jpg

Järjestelmä varaa korkeimman kertaluvun bitin negatiivisen arvon antamiseksi. Siten "char" maksimiarvo vaihtelee välillä -128 - 127. Kapasiteetti on kuitenkin edelleen sama kuin "signed char" huolimatta eroista data-alueella.

Tietokoneessa se käyttää toimintoa nimeltä Two's Complement. Tämä on osa Bitwise-toiminnan aiheita, jotka eivät kuulu tämän asiakirjan soveltamisalaan. Tästä aiheesta keskustellaan lisää toisessa asiakirjassa.


Mitä eroa on charilla ja intillä?

Tässä on joitain yleisiä "char" ja "int" käyttötapoja:

char var1 = '9'; 
int var2 = 9;

On yleinen väärinkäsitys, että "char" voi sisältää vain symboleja, kuten "a", "b" tai "9". Se on väärin.

Itse asiassa "char"-tyyppi on sama kuin "int"-tyyppi, paitsi että charin kapasiteetti on vain 1 tavu ja int:n kapasiteetti on 4 tavua. Näin ollen datakokoalue on erilainen näiden kahden välillä. Näet sen yllä olevasta tietoaluetaulukosta.

Seuraavat koodisegmentit antavat sinulle selkeämmän kuvan char- ja int.

int iX = '0';
  merkkiä cX1 = 49;
  merkki cX2 = 50; 

  Brain.Screen.printAt(3, 20, "int esitys luvusta '%c' =  %d",iX, iX);
  Brain.Screen.printAt(3, 50, "int esitys luvusta '%c' =  %d",cX1, cX1);
  Brain.Screen.printAt(3, 80, "int esitys luvusta '%c' =  %d",cX2, cX2);
  Brain.Screen.printAt(3, 140, "Joten '%c' - '%c' =  %d ", cX2, iX, cX2 - cX1);

Lähtö:

int esitys luvusta '0' = 48
int esitys luvusta '1' = 49
int esitys luvusta '2' = 50

Joten '2' – '0' = 1

Saatat ihmetellä: Miksi '0' näyttää 48?

Tämä johtaa aiheisiin, joita kutsutaan "ASCII-koodin" muuntamiseksi. ASCII-standardi on yksi suuri IEEE:n virstanpylväs, joka julkaistiin vuonna 1963. Tämä ei kuulu tämän artikkelin soveltamisalaan. Sinun kannattaa etsiä ASCII-kooditaulukko verkosta. Löydät verkosta runsaasti tietoa ASCII-kooditaulukosta.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: