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));
¿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.
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".
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.