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 ganze Zahlen enthalten: char, short, int, long, long long
Schauen wir uns einige Beispiele an:
char cvar = 50; char cvar = 50; kurzer Svar = 50; int ivar = 50; lange lvar1 = 50; lange lvar2 = 50;
Grundlegende arithmetische Operatoren:
Die meisten sind mit den grundlegenden arithmetischen Operatoren und der Rangfolge vertraut: + , -, *, /
Hier sind einige Beispiele für die Verwendung des unären Operators: ++ und --:
Ausdruck | Gleichwertig | Auch gleichbedeutend mit |
cvar += 5; | cvar = cvar + 5; | |
++cvar; | cvar++; | cvar = cvar + 1; |
--cvar; | cvar--; | cvar = cvar - 1; |
Vorsicht vor der Variable++ vs. ++variable!
++Variable
int x = 10, y = 20; X = ++y;
Hinweis: Nach dieser Operation gilt: X = 21 und Y ebenfalls = 21.
Variable++
int x = 10, y = 20; X = y++;
Hinweis: Nach dieser Operation: X = 20 und Y = 21.
Vergleichen Sie den ganzzahligen Datentyp
Es gibt eine Gruppe oder einen Datentyp, der sowohl positive als auch negative Werte zulässt – „vorzeichenbehaftet“. Sie müssen dies jedoch nicht angeben, da dies implizit ist. Siehe unten:
Datentyp | Kleinster Wert | Größter Wert |
verkohlen | -2 7 oder -128 | 2 7 - 1 oder 127 |
kurz | -2 15 oder -32.768 | 2 15 - 1 oder 32.767 |
int | -2 31 oder -2.147.483.648 | 2 31 – 1 oder 2.147.483.647 |
lang | -2 31 oder -2.147.483.648 | 2 31 – 1 oder 2.147.483.647 |
lang Lang | -2 63 oder -9.223.372.036.854.775.808 | 2 63 – 1 oder 9.223.372.036.854.775.807 |
Es gibt eine Gruppe oder einen Datentyp, der nur positive Werte zulässt – „ohne Vorzeichen“.
Datentyp | Kleinster Wert | Größter Wert |
unsigniertes Zeichen | 0 | 2 8 - 1 oder 255 |
unsignierter Kurzfilm | 0 | 2 16 - 1 oder 65.535 |
unsigned int | 0 | 2 32 – 1 oder 4.294.967.295 |
unsigniert lang | 0 | 2 32 – 1 oder 4.294.967.295 |
unsigniert lang lang | 0 | 2 64 – 1 oder 18.446.744.073.709.551.615 |
Wie überprüfen Sie die Datengröße?
Im Moment sollten Sie den Operator sizeof( )
kennen. Dadurch entsteht die Speichereinheit namens „Bytes“, auf die im nächsten Abschnitt etwas eingegangen wird.
Beispiel, um Ihnen mitzuteilen, wie viele Bytes Sie mit dem Operator sizeof()
eingeben sollten. Probieren Sie es aus, um sie selbst zu überprüfen. Wenn Sie zu einem anderen Controller wechseln, können Sie zur Überprüfung jederzeit Folgendes tun.
Brain.Screen.setFont(fontType::mono30); Brain.Screen.printAt(1, 20,"char has %d bytes", sizeof(char)); Brain.Screen.printAt(1, 50,"short hat %d Bytes", sizeof(short)); Brain.Screen.printAt(1, 80,"int has %d bytes", sizeof(int)); Brain.Screen.printAt(1, 110, "long hat %d Bytes", sizeof(long)); Brain.Screen.printAt(1, 140, "long long hat %d Bytes", sizeof(long long)); Brain.Screen.printAt(1, 170, "float hat %d Bytes", sizeof(float)); Brain.Screen.printAt(1, 200, "double hat %d Bytes", sizeof(double));
Was bedeutet ein Byte?
Ein „Byte“ ist eine Standardeinheit zur Datenspeicherung.
Ein Byte = 8 Bits. Ein Bit ist die kleinste Speichereinheit, die nur den Wert 1 und 0 (Binärwert) annehmen kann. Die kleinste Speichereinheit, die Sie vom System erhalten können, ist jedoch 1 Byte; Sie können also nicht nach 1,5 Byte usw. fragen.
Werfen wir einen Blick auf char. Es ist kurz genug, um problemlos angezeigt zu werden.
Wenn alles mit Einsen gefüllt ist, erhält man 28-1. Dieser Wert sollte der maximale Wert sein, den „unsigned char“ enthalten sollte.
Das System reserviert das höchstwertige Bit , um einen negativen Wert anzugeben. Somit liegt der Maximalwert für ein „char“ zwischen -128 und 127. Allerdings ist die Kapazität trotz eines Unterschieds im Datenbereich immer noch dieselbe wie bei „unsigned char“.
Im Computer wird eine Operation namens Zweierkomplement verwendet. Dies ist Teil der Themen zum Thema „Bitweiser Betrieb“, der in diesem Dokument nicht behandelt wird. Mehr zu diesem Thema wird in einem anderen Dokument besprochen.
Was ist der Unterschied zwischen char und int?
Hier sind einige häufige Verwendungen für „char“ und „int“:
char var1 = '9'; int var2 = 9;
Es ist ein weit verbreitetes Missverständnis, dass „char“ nur Symbole wie „a“, „b“ oder „9“ enthalten kann. Das ist falsch.
Tatsächlich ist der Typ „char“ derselbe wie der Typ „int“, außer dass die Kapazität von char nur 1 Byte und die Kapazität von int 4 Bytes beträgt. Daher ist der Datengrößenbereich zwischen den beiden unterschiedlich. Sie können dies in der Datenbereichstabelle oben sehen.
Die folgenden Codesegmente geben Ihnen einen klareren Überblick über char und int.
int iX = '0'; Zeichen cX1 = 49; Zeichen cX2 = 50; Brain.Screen.printAt(3, 20, "int-Darstellung von '%c' = %d",iX, iX); Brain.Screen.printAt(3, 50, "int-Darstellung von '%c' = %d",cX1, cX1); Brain.Screen.printAt(3, 80, "int-Darstellung von '%c' = %d",cX2, cX2); Brain.Screen.printAt(3, 140, "So '%c' - '%c' = %d ", cX2, iX, cX2 - cX1);
Ausgabe:
int-Darstellung von '0' = 48 int-Darstellung von '1' = 49 int-Darstellung von '2' = 50 Also '2' – '0' = 1
Sie fragen sich vielleicht: Warum zeigt „0“ 48 an?
Dies führt zu den Themen namens „ASCII-Code“-Konvertierung. Der ASCII-Standard ist einer der großen IEEE-Meilensteine, der bereits 1963 veröffentlicht wurde. Dies liegt außerhalb des Rahmens dieses Artikels. Wir empfehlen Ihnen, die ASCII-Codetabelle online nachzuschlagen. Online finden Sie zahlreiche Informationen zur ASCII-Codetabelle.