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.
Typen die gehele getallen bevatten: char, short, int, long, long long
Laten we een paar voorbeelden bekijken:
char cvar = 50; tekens cvar = 50; korte svar = 50; int ivar = 50; lange lvar1 = 50; lange lvar2 = 50;
Basis rekenkundige operatoren:
De meesten zijn bekend met de elementaire rekenkundige operatoren en de prioriteitsvolgorde: + , -, *, /
Hier zijn enkele voorbeelden van het gebruik van de Unary-operator: ++ en --:
Uitdrukking | Gelijk aan | Ook gelijkwaardig aan |
cvar += 5; | cvar = cvar + 5; | |
++cvar; | cvar++; | cvar = cvar + 1; |
--cvar; | cvar--; | cvar = cvar - 1; |
Pas op voor de variabele++ versus ++variabele!
++variabel
intx = 10, y = 20; X = ++y;
Let op: na deze bewerking: X = 21, en Y ook = 21.
variabele++
intx = 10, y = 20; X = y++;
Let op: na deze bewerking: X = 20, en Y = 21.
Vergelijk het gegevenstype geheel getal
Er is een groep of gegevenstype dat zowel positieve als negatieve waarden toestaat – ‘ondertekend’. U hoeft dit echter niet te specificeren, omdat dit impliciet is. Zie hieronder:
Data type | Kleinste waarde | Grootste waarde |
verkoold | -2 7 of -128 | 2 7 - 1 of 127 |
kort | -2 15 of -32.768 | 2 15 - 1 of 32.767 |
int | -2 31 of -2.147.483.648 | 2 31 – 1 of 2.147.483.647 |
lang | -2 31 of -2.147.483.648 | 2 31 – 1 of 2.147.483.647 |
lang Lang | -2 63 of -9.223.372.036.854.775.808 | 2 63 – 1 of 9.223.372.036.854.775.807 |
Er is een groep of gegevenstype dat alleen positieve waarden toestaat: ‘niet-ondertekend’.
Data type | Kleinste waarde | Grootste waarde |
Ongetekend char | 0 | 2 8 - 1 of 255 |
niet-ondertekende korte | 0 | 2 16 - 1 of 65.535 |
niet ondertekend int | 0 | 2 32 – 1 of 4.294.967.295 |
lang niet ondertekend | 0 | 2 32 – 1 of 4.294.967.295 |
niet ondertekend lang lang | 0 | 2 64 – 1 of 18.446.744.073.709.551.615 |
Hoe verifieer je de gegevensgrootte?
Voorlopig zou u de operator sizeof( )
moeten kennen. Dit levert de geheugenopslageenheid op die 'bytes' wordt genoemd, die in de volgende sectie enigszins zal worden behandeld.
Voorbeeld om u te vertellen hoeveel bytes u moet typen met de operator sizeof()
. Probeer dit uit om ze zelf te verifiëren. Als u overstapt naar een andere controller, kunt u ter verificatie altijd het volgende doen.
Brain.Screen.setFont(fontType::mono30); Brain.Screen.printAt(1, 20,"char heeft %d bytes", sizeof(char)); Brain.Screen.printAt(1, 50,"kort heeft %d bytes", sizeof(kort)); Brain.Screen.printAt(1, 80,"int heeft %d bytes", sizeof(int)); Brain.Screen.printAt(1, 110, "lang heeft %d bytes", sizeof(lang)); Brain.Screen.printAt(1, 140, "lang lang heeft %d bytes", sizeof(lang lang)); Brain.Screen.printAt(1, 170, "float heeft %d bytes", sizeof(float)); Brain.Screen.printAt(1, 200, "dubbel heeft %d bytes", sizeof(dubbel));
Wat betekent een byte?
Een “Byte” is een standaardeenheid voor gegevensopslag.
Eén byte = 8 bits. Eén bit is de kleinste geheugeneenheid die alleen de waarde 1s en 0s kan hebben (binaire waarde). Maar de kleinste geheugeneenheid die u van het systeem kunt verkrijgen is 1 byte; je kunt dus niet om 1,5 byte vragen, enz.
Laten we eens kijken naar Char. Het is kort genoeg om gemakkelijk weer te geven.
Als het allemaal gevuld is met 1-en, krijg je 28-1. Deze waarde zou de maximale waarde van “unsigned char” moeten zijn.
Het systeem reserveert de hoogste orde bit om een negatieve waarde te geven. De maximale waarde voor een “char” varieert dus van -128 tot 127. De capaciteit is echter nog steeds hetzelfde als bij “unsigned char” ondanks een verschil in het databereik.
In de computer gebruikt het een bewerking genaamd Two's Complement. Dit maakt deel uit van de onderwerpen onder Bitwise-bewerking, wat buiten het bestek van dit document valt. Meer over dit onderwerp zal in een ander document worden besproken.
Wat is het verschil tussen char en int?
Hier zijn enkele veel voorkomende toepassingen voor "char" en "int":
char var1 = '9'; intvar2 = 9;
Het is een veel voorkomende misvatting dat 'char' alleen symbolen kan bevatten zoals 'a', 'b' of '9'. Dat is onjuist.
In feite is het "char" type hetzelfde als het "int" type, behalve dat de capaciteit van char slechts 1 byte is, en de capaciteit van int 4 bytes. Het bereik van de gegevensgrootte is dus verschillend tussen de twee. U kunt dat zien in de tabel met gegevensbereiken hierboven.
De volgende codesegmenten geven u een duidelijker beeld van char en int.
int iX = '0'; teken cX1 = 49; teken cX2 = 50; Brain.Screen.printAt(3, 20, "int representatie van '%c' = %d",iX, iX); Brain.Screen.printAt(3, 50, "int representatie van '%c' = %d",cX1, cX1); Brain.Screen.printAt(3, 80, "int representatie van '%c' = %d",cX2, cX2); Brain.Screen.printAt(3, 140, "Dus '%c' - '%c' = %d ", cX2, iX, cX2 - cX1);
Uitgang:
int representatie van '0' = 48 int representatie van '1' = 49 int representatie van '2' = 50 Dus '2' – '0' = 1
Je vraagt je misschien af: waarom staat '0' voor 48?
Dit zal leiden tot de onderwerpen die “ASCII-code”-conversie worden genoemd. De ASCII-standaard is een geweldige IEEE-mijlpaal die in 1963 werd gepubliceerd. Dit valt buiten de reikwijdte van dit artikel. U wordt aangemoedigd om de ASCII-codetabel online op te zoeken. U vindt online een overvloed aan informatie over de ASCII-codetabel.