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 Atitinka 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

sveikasis skaičius x = 10, y = 20; 
X = ++y;

Pastaba: po šios operacijos: X = 21, o Y taip pat = 21.

kintamasis++

sveikasis skaičius 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 reikšmė 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
int -2 31 arba -2 147 483 648 2 31 – 1 arba 2 147 483 647
ilgas -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 reikšmė Didžiausia vertė
nepasirašytas simbolis 0 2 8 - 1 arba 255
nepasirašytas trumpasis 0 2 16 - 1 arba 65 535
nepasirašytas tarptautinis 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, „short turi %d baitus“, sizeof(short)); 
Brain.Screen.printAt(1, 80, „int turi %d baitus“, sizeof(int));
Brain.Screen.printAt(1, 110, „long turi %d baitus“, sizeof(long));
Brain.Screen.printAt(1, 140, „long long turi %d baitus“, sizeof(long long));
Brain.Screen.printAt(1, 170, „float turi %d baitų“, sizeof(float));
Brain.Screen.printAt(1, 200, „double turi %d baitų“, sizeof(double));

V5 Brain ekrane atspausdintas tekstas:

„char“ turi 1 baitą,
short“ turi 2 baitus,
int“ turi 4 baitus
long“ turi 4 baitus
long long“ turi 8 baitus,
float“ turi 4 baitus, „
double“ turi 8 baitus.

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, kurioje pavaizduotas nepažymėtas simbolis su 8 bitais, pažymėtais nuo 7 iki 0, ir atitinkamomis reikšmėmis nuo 128 iki 1, su pavyzdžiais, kaip apskaičiuoti 136 ir 255 reikšmes.

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

Diagrama, kurioje parodytas „char“ duomenų tipas su 7 reikšmių bitais ir vienu rezervuotu ženklo bitu, įskaitant reikšmių −120 ir 127 skaičiavimo pavyzdžius.

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 kintamasis1 = '9'; 
int kintamasis2 = 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';
  simbolių cX1 = 49;
  simbolių cX2 = 50; 

  Brain.Screen.printAt(3, 20, "sveikata '%c' =  %dreprezentacija",iX, iX);
  Brain.Screen.printAt(3, 50, "sveikata '%c' =  %dreprezentacija",cX1, cX1);
  Brain.Screen.printAt(3, 80, "sveikata '%c' =  %dreprezentacija",cX2, cX2);
  Brain.Screen.printAt(3, 140, "Taigi '%c' - '%c' =  %d ",cX2, iX, cX2 - cX1);

Išvestis:

sveikasis skaičius „0“ = 48
sveikasis skaičius „1“ = 49
sveikasis skaičius „2“ = 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: