Sveikųjų skaičių kintamųjų kūrimas naudojant VEXcode Pro V5

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

Diagrama, iliustruojanti V5 robotikos sistemos programavimo ypatybes ir galimybes, išryškinanti pagrindinius komponentus ir jų funkcijas aiškiu ir organizuotu išdėstymu.


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.

Diagrama, iliustruojanti V5 robotikos sistemos programavimo ypatybes, išryškinanti pagrindinius komponentus ir jų funkcijas.

Jei visa tai užpildyta 1, gausite 28-1. Ši vertė turėtų būti didžiausia „nepasirašyto simbolio“ reikšmė.

Diagrama, iliustruojanti V5 roboto programavimo galimybes, demonstruojanti įvairius jutiklius, variklius ir jungtis efektyviam kodavimui ir valdymui.

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ę.

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

Last Updated: