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;
lvar1 largo = 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; var = var + 5;  
++var; 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 grande
carbonizarse -2 7 o -128 2 7 - 1 o 127
corto -2 15 o -32,768 2 15 - 1 o 32.767
En t -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 grande
carácter sin firmar 0 2 8 - 1 o 255
corto sin firmar 0 2 16 - 1 o 65.535
entero sin firmar 0 2 32 – 1 o 4.294.967.295
largo sin firmar 0 2 32 – 1 o 4.294.967.295
sin firmar mucho tiempo 0 2 64 – 1 o 18.446.744.073.709.551.615

¿Cómo se verifica 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 bytes", 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, "el doble tiene %d bytes", sizeof(double));

vartipos.png


¿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.

usignedchar.jpg

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".

valoreschar.jpg

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 e int?

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

char var1 = '9'; 
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';
  caracteres cX1 = 49;
  carácter cX2 = 50; 

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

Producción:

representación int de '0' = 48
representación int de '1' = 49
representación int 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: