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.
Typer som innehåller heltal: char, short, int, long, long long
Låt oss ta en titt på några exempel:
char cvar = 50; char cvar = 50; kort svar = 50; int ivar = 50; långa lvar1 = 50; långa lvar2 = 50;
Grundläggande aritmetiska operatorer:
De flesta är bekanta med de grundläggande aritmetiska operatorerna och prioritetsordningen: + , -, *, /
Här är några exempel på hur man använder Unary-operatorn: ++ och --:
| Uttryck | Motsvarande | Även likvärdig med |
|---|---|---|
| cvar += 5; | cvar = cvar + 5; | |
| ++cvar; | cvar++; | cvar = cvar + 1; |
| --cvar; | cvar--; | cvar = cvar - 1; |
Se upp för variabeln++ kontra ++variabeln!
++variabel
heltal x = 10, y = 20; X = ++y;
Obs: efter denna operation: X = 21, och Y också = 21.
variabel++
heltal x = 10, y = 20; X = y++;
Obs: efter denna operation: X = 20 och Y = 21.
Jämför heltalsdatatyp
Det finns en grupp eller datatyp som tillåter både positiva och negativa värden – ”signerad”. Du behöver dock inte specificera det eftersom det är implicit. Se nedan:
| Datatyp | Minsta värde | Största värde |
|---|---|---|
| röding | -2 7 eller -128 | 2 7 - 1 eller 127 |
| kort | -2 15 eller -32 768 | 2 15 - 1 eller 32 767 |
| int | -2 31 eller -2 147 483 648 | 2 31 – 1 eller 2 147 483 647 |
| lång | -2 31 eller -2 147 483 648 | 2 31 – 1 eller 2 147 483 647 |
| lång lång | -2 63 eller -9 223 372 036 854 775 808 | 2 63 – 1 eller 9 223 372 036 854 775 807 |
Det finns en grupp eller datatyp som endast tillåter positivt värde – ”unsigned”.
| Datatyp | Minsta värde | Största värde |
|---|---|---|
| osignerat tecken | 0 | 2 8 - 1 eller 255 |
| osignerad kortslutning | 0 | 2 16 - 1 eller 65 535 |
| osignerad heltal | 0 | 2 32 – 1 eller 4 294 967 295 |
| osignerad lång | 0 | 2 32 – 1 eller 4 294 967 295 |
| osignerad lång lång | 0 | 2 64 – 1 eller 18 446 744 073 709 551 615 |
Hur verifierar man datastorleken?
För tillfället bör du känna till operatorn sizeof(). Detta tillhandahåller minneslagringsenheten som kallas "bytes" – vilket kommer att behandlas något i nästa avsnitt.
Exempel som visar hur många byte som ska skrivas med operatorn sizeof(). Testa detta för att verifiera dem själv. Om du byter till en annan handkontroll kan du alltid göra följande för att verifiera.
Brain.Screen.setFont(fontType::mono30); Brain.Screen.printAt(1, 20,"char har %d byte", sizeof(char)); Brain.Screen.printAt(1, 50,"short har %d byte", sizeof(short)); Brain.Screen.printAt(1, 80,"int har %d byte", sizeof(int)); Brain.Screen.printAt(1, 110, "lång har %d byte", sizeof(lång)); Brain.Screen.printAt(1, 140, "lång lång har %d byte", sizeof(lång lång)); Brain.Screen.printAt(1, 170, "flytande har %d byte", sizeof(flytande)); Brain.Screen.printAt(1, 200, "double har %d byte", sizeof(double));
Vad betyder en byte?
En "byte" är en standardenhet för datalagring.
En byte = 8 bitar. En bit är den minsta minnesenheten som bara kan ha värdet 1s och 0s (binärt värde). Men den minsta minnesenheten du kan få från systemet är 1 byte; så du kan inte begära 1,5 byte, etc.
Låt oss ta en titt på char. Den är tillräckligt kort för att enkelt kunna visas.
Om allt är fyllt med ettor får du 28-1. Detta värde bör vara det maximala värdet som "unsigned char" bör innehålla.
Systemet reserverar bit av högsta ordningen för att ge ett negativt värde. Således varierar det maximala värdet för ett "char" från -128 till 127. Kapaciteten är dock fortfarande densamma som för "unsigned char" trots en skillnad i dataintervallet.
I datorn använder den en operation som kallas tvåkomplementet. Detta är en del av ämnena under Bitvis drift, vilket ligger utanför ramen för detta dokument. Mer om detta ämne kommer att diskuteras i ett annat dokument.
Vad är skillnaden mellan char och int?
Här är några vanliga användningsområden för "char" och "int":
char variabel1 = '9'; int variabel2 = 9;
Det är en vanlig missuppfattning att "char" bara kan innehålla symboler som 'a', 'b' eller '9'. Det är felaktigt.
Faktum är att typen "char" är densamma som typen "int", förutom att chars kapacitet bara är 1 byte och ints kapacitet är 4 byte. Således skiljer sig datastorleksintervallet mellan de två. Du kan se det i dataintervallstabellen ovan.
Följande kodsegment ger dig en tydligare bild av char och int.
int iX = '0'; char cX1 = 49; char cX2 = 50; Brain.Screen.printAt(3, 20, "int representation av '%c' = %d", iX, iX); Brain.Screen.printAt(3, 50, "int representation av '%c' = %d", cX1, cX1); Brain.Screen.printAt(3, 80, "int representation av '%c' = %d", cX2, cX2); Brain.Screen.printAt(3, 140, "Så '%c' - '%c' = %d ", cX2, iX, cX2 - cX1);
Produktion:
int-representation av '0' = 48 int-representation av '1' = 49 int-representation av '2' = 50 Så '2' – '0' = 1
Du kanske undrar: Varför visar '0' 48?
Detta kommer att leda till ämnen som kallas konvertering av "ASCII-kod". ASCII-standarden är en viktig milstolpe inom IEEE som publicerades 1963. Detta ligger utanför ramen för den här artikeln. Du uppmanas att söka upp ASCII-kodtabellen online. Du hittar en mängd information online om ASCII-kodtabeller.