Δημιουργία μεταβλητών για ακέραιους αριθμούς στο 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.

Τύποι που περιέχουν ακέραιους αριθμούς: char, short, int, long, long long

Ας ρίξουμε μια ματιά σε μερικά παραδείγματα:

char cvar = 50;
char cvar = 50;
σύντομο svar = 50;
int ivar = 50;
μακριά lvar1 = 50;
μακριά lvar2 = 50;

Βασικοί Αριθμητικοί Τελεστές:

Οι περισσότεροι είναι εξοικειωμένοι με τους βασικούς αριθμητικούς τελεστές και τη σειρά προτεραιότητας: + , - , * , /

Ακολουθούν ορισμένα παραδείγματα για το πώς να χρησιμοποιήσετε τον τελεστή Unary: ++ και --:

Εκφραση Ισοδύναμο με Επίσης ισοδύναμο με
μεταβλητή cvr += 5; cvar = cvar + 5;  
++cvar; cvar++; cvar = cvar + 1;
--cvar; cvar--; cvar = cvar - 1;

Προσοχή στη μεταβλητή++ έναντι της μεταβλητής ++!

++μεταβλητή

ακέραιος x = 10, y = 20; 
X = ++y;

Σημείωση: μετά από αυτήν την πράξη: X = 21, και Y επίσης = 21.

μεταβλητή++

ακέραιος x = 10, y = 20; 
X = y++;

Σημείωση: μετά από αυτήν την πράξη: X = 20 και Y = 21.


Σύγκριση ακέραιου τύπου δεδομένων

Υπάρχει μια ομάδα ή τύπος δεδομένων που επιτρέπει τόσο θετική όσο και αρνητική τιμή – «υπογεγραμμένο». Ωστόσο, δεν χρειάζεται να το διευκρινίσετε αυτό, καθώς είναι έμμεσο. Δείτε παρακάτω:

Τύπος δεδομένων Μικρότερη τιμή Μεγαλύτερη τιμή
απανθρακώνω -2 7 ή -128 2 7 - 1 ή 127
μικρός -2 15 ή -32.768 2 15 - 1 ή 32.767
εσωτ. -2 31 ή -2.147.483.648 2 31 – 1 ή 2.147.483.647
μακρύς -2 31 ή -2.147.483.648 2 31 – 1 ή 2.147.483.647
μακρύς μακρύς -2 63 ή -9.223.372.036.854.775.808 2 63 – 1 ή 9.223.372.036.854.775.807

Υπάρχει μια ομάδα ή τύπος δεδομένων που επιτρέπει μόνο θετική τιμή - "ανυπόγραφο".

Τύπος δεδομένων Μικρότερη τιμή Μεγαλύτερη τιμή
ανυπόγραφος χαρακτήρας 0 2 8 - 1 ή 255
ανυπόγραφο σύντομο 0 2 16 - 1 ή 65.535
μη υπογεγραμμένο ακέραιο 0 2 32 – 1 ή 4.294.967.295
ανυπόγραφο μακρύ 0 2 32 – 1 ή 4.294.967.295
ανυπόγραφο long long 0 2 64 – 1 ή 18.446.744.073.709.551.615

Πώς επαληθεύετε το μέγεθος των δεδομένων;

Προς το παρόν, θα πρέπει να γνωρίζετε τον τελεστή sizeof(). Αυτό παρέχει τη μονάδα αποθήκευσης μνήμης που ονομάζεται «bytes» – η οποία θα καλυφθεί εν μέρει στην επόμενη ενότητα.

Δείγμα που σας λέει τον αριθμό των byte που πρέπει να πληκτρολογήσετε χρησιμοποιώντας τον τελεστή sizeof(). Δοκιμάστε το αυτό για να τα επαληθεύσετε μόνοι σας. Εάν αλλάξετε χειριστήριο, μπορείτε πάντα να κάνετε τα εξής για επαλήθευση.

Brain.Screen.setFont(fontType::mono30);    
Brain.Screen.printAt(1, 20, "το char έχει %d byte", sizeof(char));
Brain.Screen.printAt(1, 50, "το short έχει %d byte", sizeof(short)); 
Brain.Screen.printAt(1, 80, "το int έχει %d byte", sizeof(int));
Brain.Screen.printAt(1, 110, "το long έχει %d byte", sizeof(long));
Brain.Screen.printAt(1, 140, "το long long έχει %d byte", sizeof(long long));
Brain.Screen.printAt(1, 170, "το float έχει %d byte", sizeof(float));
Brain.Screen.printAt(1, 200, "το double έχει %d byte", sizeof(double));

Κείμενο που εκτυπώθηκε στην οθόνη V5 Brain:

Ο char έχει 1 bytes
ο short έχει 2 bytes
int έχει 4 bytes
long έχει 4 bytes
ο long έχει 8 bytes
ο float έχει 4 bytes
double έχει 8 bytes.

Τι σημαίνει ένα byte;

Ένα «Byte» είναι μια τυπική μονάδα αποθήκευσης δεδομένων.

Ένα Byte = 8 bits. Ένα bit είναι η μικρότερη μονάδα μνήμης που μπορεί να έχει μόνο την τιμή 1 και 0 (δυαδική τιμή). Αλλά, η μικρότερη μονάδα μνήμης που μπορείτε να αποκτήσετε από το σύστημα είναι 1 byte, επομένως δεν μπορείτε να ζητήσετε 1,5 byte, κ.λπ.

Ας ρίξουμε μια ματιά στο char. Είναι αρκετά κοντό για να εμφανίζεται εύκολα.

Διάγραμμα που δείχνει έναν μη προσημασμένο χαρακτήρα με 8 bit με ετικέτες από 7 έως 0 και αντίστοιχες τιμές από 128 έως 1, με παραδείγματα που υπολογίζουν τις τιμές 136 και 255.

Αν είναι όλο γεμάτο με 1, προκύπτει 28-1. Αυτή η τιμή θα πρέπει να είναι η μέγιστη τιμή που πρέπει να περιέχει ο όρος "unsigned char".

Διάγραμμα που δείχνει τον τύπο δεδομένων char με 7 bit τιμής και ένα δεσμευμένο bit πρόσημου, συμπεριλαμβανομένων παραδειγμάτων υπολογισμού τιμών −120 και 127.

Το σύστημα δεσμεύει το bit υψηλότερης τάξης προκειμένου να δώσει αρνητική τιμή. Έτσι, η μέγιστη τιμή για έναν "char" κυμαίνεται από -128 έως 127. Ωστόσο, η χωρητικότητα εξακολουθεί να είναι η ίδια με τον "unsigned char" παρά τη διαφορά στο εύρος δεδομένων.

Στον υπολογιστή, χρησιμοποιεί μια λειτουργία που ονομάζεται Συμπλήρωμα ως προς το Δύο. Αυτό αποτελεί μέρος των θεμάτων στην ενότητα Λειτουργία Bitwise, η οποία δεν εμπίπτει στο πεδίο εφαρμογής αυτού του εγγράφου. Περισσότερα για αυτό το θέμα θα συζητηθούν σε άλλο έγγραφο.


Ποια είναι η διαφορά μεταξύ char και int;

Ακολουθούν μερικές συνηθισμένες χρήσεις των "char" και "int":

char var1 = '9'; 
int var2 = 9;

Είναι μια κοινή εσφαλμένη αντίληψη ότι το "char" μπορεί να περιέχει μόνο σύμβολα όπως 'a', 'b' ή '9'. Αυτό είναι λανθασμένο.

Στην πραγματικότητα, ο τύπος "char" είναι ο ίδιος με τον τύπο "int", εκτός από το ότι η χωρητικότητα του char είναι μόνο 1 byte και η χωρητικότητα του int είναι 4 byte. Έτσι, το εύρος μεγέθους δεδομένων είναι διαφορετικό μεταξύ των δύο. Μπορείτε να το δείτε αυτό στον παραπάνω πίνακα εύρους δεδομένων.

Τα ακόλουθα τμήματα κώδικα θα σας δώσουν μια πιο σαφή εικόνα των char και int.

int iX = '0';
  char cX1 = 49;
  char cX2 = 50; 

  Brain.Screen.printAt(3, 20, "int αναπαράσταση του '%c' =  %d",iX, iX);
  Brain.Screen.printAt(3, 50, "int αναπαράσταση του '%c' =  %d",cX1, cX1);
  Brain.Screen.printAt(3, 80, "int αναπαράσταση του '%c' =  %d",cX2, cX2);
  Brain.Screen.printAt(3, 140, "Έτσι '%c' - '%c' =  %d ", cX2, iX, cX2 - cX1);

Παραγωγή:

int αναπαράσταση του '0' = 48
int αναπαράσταση του '1' = 49
int αναπαράσταση του '2' = 50

Άρα '2' – '0' = 1

Μπορεί να αναρωτιέστε: Γιατί το '0' δείχνει 48;

Αυτό θα οδηγήσει στα θέματα που ονομάζονται μετατροπή «Κώδικας ASCII». Το πρότυπο ASCII είναι ένα από τα σημαντικότερα ορόσημα του IEEE που δημοσιεύθηκε το 1963. Αυτό είναι εκτός του πεδίου εφαρμογής αυτού του άρθρου. Σας ενθαρρύνουμε να αναζητήσετε τον Πίνακα Κωδικών ASCII στο διαδίκτυο. Θα βρείτε πληθώρα πληροφοριών στο διαδίκτυο σχετικά με τον πίνακα κωδικών ASCII.

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

Last Updated: