Creación de variables para números enteros en 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.

Tipos que contienen números enteros: char, short, int, long, long long

Echemos un vistazo a algunos ejemplos:

char cvar = 50;
caracteres cvar = 50;
svar corto = 50;
intivar = 50;
largas lvar1 = 50;
lvar2 largas = 50;

Operadores aritméticos básicos:

La mayoría está familiarizada con los operadores aritméticos básicos y el orden de precedencia: +, -, *, /

A continuación se muestran algunos ejemplos de cómo utilizar el operador unario: ++ y --:

Expresión Equivalente a También equivalente a
cvar += 5; cvar = cvar + 5;  
++cvar; cvar++; cvar = cvar + 1;
--cvar; cvar--; cvar = cvar - 1;

¡Cuidado con la variable++ versus la variable ++!

++variable

int x = 10, y = 20; 
X = ++y;

Nota: después de esta operación: X = 21, y Y también = 21.

variable++

int x = 10, y = 20; 
X = y++;

Nota: después de esta operación: X = 20 e Y = 21.


Comparar tipos de datos enteros

Hay un grupo o tipo de datos que permite valores tanto positivos como negativos: "firmado". Sin embargo, no es necesario especificarlo ya que está implícito. Vea abajo:

Tipo de datos Valor más pequeño Valor más alto
carbonizarse -2 7 o -128 2 7 - 1 o 127
corto -2 15 o -32,768 2 15 - 1 o 32.767
entero -2 31 o -2.147.483.648 2 31 – 1 o 2.147.483.647
largo -2 31 o -2.147.483.648 2 31 – 1 o 2.147.483.647
largo largo -2 63 o -9.223.372.036.854.775.808 2 63 – 1 o 9.223.372.036.854.775.807

Hay un grupo o tipo de datos que solo permite valores positivos: "sin firmar".

Tipo de datos Valor más pequeño Valor más alto
carácter sin signo 0 2 8 - 1 o 255
corto sin firmar 0 2 16 - 1 o 65,535
entero sin signo 0 2 32 – 1 o 4.294.967.295
largo sin firmar 0 2 32 – 1 o 4.294.967.295
sin firmar largo largo 0 2 64 – 1 o 18.446.744.073.709.551.615

¿Cómo verificar el tamaño de los datos?

Por el momento, debes conocer el operador tamaño de(). Esto proporciona la unidad de almacenamiento de memoria llamada "bytes", que se tratará ligeramente en la siguiente sección.

Ejemplo para indicarle el número de bytes que debe escribir utilizando el operador sizeof(). Pruebe esto para verificarlos usted mismo. Si cambia a otro controlador, siempre puede hacer lo siguiente para verificar.

Brain.Screen.setFont(fontType::mono30);    
Brain.Screen.printAt(1, 20,"char tiene %d byte", sizeof(char));
Brain.Screen.printAt(1, 50,"short tiene %d bytes", sizeof(short)); 
Brain.Screen.printAt(1, 80,"int tiene %d bytes", sizeof(int));
Brain.Screen.printAt(1, 110, "long tiene %d bytes", sizeof(long));
Brain.Screen.printAt(1, 140, "long long tiene %d bytes", sizeof(long long));
Brain.Screen.printAt(1, 170, "float tiene %d bytes", sizeof(float));
Brain.Screen.printAt(1, 200, "double tiene %d bytes", sizeof(double));

Texto impreso en la pantalla del cerebro V5:

char tiene 1 byte
short tiene 2 bytes
int tiene 4 bytes
long tiene 4 bytes
long long tiene 8 bytes
float tiene 4 bytes
double tiene 8 bytes

¿Qué significa un byte?

Un "Byte" es una unidad estándar de almacenamiento de datos.

Un byte = 8 bits. Un bit es la unidad de memoria más pequeña que solo puede tener el valor de 1 y 0 (valor binario). Pero la unidad de memoria más pequeña que puede adquirir del sistema es 1 byte; entonces no puedes pedir 1,5 bytes, etc.

Echemos un vistazo a char. Es lo suficientemente corto como para mostrarlo fácilmente.

Diagrama que muestra un carácter sin signo de 8 bits etiquetado del 7 al 0 y valores correspondientes del 128 al 1, con ejemplos que calculan los valores 136 y 255.

Si está todo lleno de 1, obtienes 28-1. Este valor debe ser el valor máximo que debe tener el "carácter sin firmar".

Diagrama que muestra el tipo de datos char con 7 bits de valor y un bit de signo reservado, incluyendo ejemplos de cálculo de los valores −120 y 127.

El sistema reserva el bit de mayor orden para dar un valor negativo. Por tanto, el valor máximo para un “char” oscila entre -128 y 127. Sin embargo, la capacidad sigue siendo la misma que la del "carácter sin firmar" a pesar de la diferencia en el rango de datos.

En la computadora, utiliza una operación llamada Complemento a dos. Esto es parte de los temas de Operación bit a bit, que está fuera del alcance de este documento. Se discutirá más sobre este tema en otro documento.


¿Cuál es la diferencia entre char y int?

A continuación se muestran algunos usos comunes de "char" e "int":

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

Es un error común pensar que "char" sólo puede contener símbolos como "a", "b" o "9". Eso es incorrecto.

De hecho, el tipo "char" es el mismo que el tipo "int", excepto que la capacidad de char es solo 1 byte y la capacidad de int es 4 bytes. Por lo tanto, el rango de tamaño de los datos es diferente entre los dos. Puede ver eso en la tabla de rango de datos anterior.

Los siguientes segmentos de código le brindarán una visión más clara de char e int.

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

  Brain.Screen.printAt(3, 20, "Representación entera de '%c' =  %d", iX, iX);
  Brain.Screen.printAt(3, 50, "Representación entera de '%c' =  %d", cX1, cX1);
  Brain.Screen.printAt(3, 80, "Representación entera de '%c' =  %d", cX2, cX2);
  Brain.Screen.printAt(3, 140, "Entonces '%c' - '%c' =  %d ", cX2, iX, cX2 - cX1);

Producción:

Representación entera de '0' = 48
Representación entera de '1' = 49
Representación entera de '2' = 50

Entonces '2' – '0' = 1

Quizás te preguntes: ¿Por qué '0' muestra 48?

Esto conducirá a los temas llamados conversión de “Código ASCII”. El estándar ASCII es uno de los grandes hitos del IEEE publicado en 1963. Esto está fuera del alcance de este artículo. Le recomendamos que busque la tabla de códigos ASCII en línea. Encontrará una gran cantidad de información en línea sobre la tabla de códigos ASCII.

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

Last Updated: