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
Veamos algunos ejemplos:
char cvar = 50; char cvar = 50; short svar = 50; int ivar = 50; long lvar1 = 50; long lvar2 = 50;
Operadores aritméticos básicos:
La mayoría está familiarizada con los operadores aritméticos básicos y el orden de precedencia: + , -, *, /
Estos son algunos ejemplos de cómo usar 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++ vs. ++!
++variable
int x = 10, y = 20; X = ++y;
Nota: después de esta operación: X = 21, e 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 tipo de datos enteros
Hay un grupo o tipo de datos que permite tanto el valor positivo como el negativo: "firmado". Sin embargo, no es necesario especificarlo, ya que está implícito. Vea a continuación:
| Tipo de datos | Valor más pequeño | Valor más grande |
|---|---|---|
| char | -2 7 o -128 | 2 7 - 1 o 127 |
| corto | -2 15 o -32.768 | 2 15 - 1 o 32.767 |
| int | -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 un valor positivo: "sin signo".
| Tipo de datos | Valor más pequeño | Valor más grande |
|---|---|---|
| char sin firmar | 0 | 2 8 - 1 o 255 |
| corto sin signo | 0 | 2 16 - 1 o 65.535 |
| unsigned int | 0 | 2 32 – 1 o 4.294.967.295 |
| sin firmar largo | 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 verificas el tamaño de los datos?
Por el momento, debe conocer el operador sizeof( ). Esto proporciona la unidad de almacenamiento de memoria llamada "bytes", que se cubrirá ligeramente en la siguiente sección.
Ejemplo para indicarle que el número de bytes debe escribir usando el operador sizeof(). Prueba esto para verificarlos tú mismo. Si cambia a otro controlador, siempre puede hacer lo siguiente para verificar.
Brain.Screen.setFont (fontType:: mono30); Brain.Screen.printAt (1, 20,"char has %d bytes", sizeof(char)); Brain.Screen.printAt (1, 50,"short has %d bytes", sizeof(short)); Brain.Screen.printAt (1, 80,"int has %d bytes", sizeof(int)); Brain.Screen.printAt (1, 110, "long has %d bytes", sizeof(long)) ; Brain.Screen.printAt (1, 140, "long has %d bytes", sizeof(long long)); Brain.Screen.printAt (1, 170, "float has %d bytes", sizeof(float)); Brain.Screen.printAt (1, 200, "double has %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 1s y 0s (valor binario). Pero, la unidad de memoria más pequeña que puede adquirir del sistema es 1 byte; por lo que no puede pedir 1,5 bytes, etc.
Echemos un vistazo a char. Es lo suficientemente corto como para mostrarse fácilmente.
Si todo está lleno de 1, obtienes 28-1. Este valor debe ser el valor máximo de "carácter sin signo" que se debe mantener.
El sistema reserva el bit de orden más alto para dar un valor negativo. Por lo tanto, el valor máximo para un "char" varía de -128 a 127. Sin embargo, la capacidad sigue siendo la misma que la de "caracteres sin signo" a pesar de una diferencia en el rango de datos.
En la computadora, utiliza una operación llamada Complemento de Dos. Esto es parte de los temas bajo la operación de Bitwise, que está fuera del alcance de este documento. Más sobre este tema se discutirá en otro documento.
¿Cuál es la diferencia entre char e int?
Estos son algunos usos comunes para "char" e "int":
char var1 = ‘9’; int var2 = 9;
Es un error común pensar que "char" solo puede contener símbolos como "a", "b" o "9". Incorrecto.
De hecho, el tipo "char" es el mismo que el tipo "int", excepto que la capacidad de char es de solo 1 byte y la capacidad de int es de 4 bytes. Por lo tanto, el rango de tamaño de datos es diferente entre los dos. Puedes verlo en la tabla de rango de datos anterior.
Los siguientes segmentos de código le dará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, "int representación de '%c' = %d",iX, iX); Brain.Screen.printAt (3, 50, "int representación de '%c' = %d",cX1, cX1); Brain.Screen.printAt (3, 80, "int representación de '%c' = %d",cX2, cX2); Brain.Screen.printAt (3, 140, "So '%c' - '%c' = %d ", cX2, iX, cX2 - cX1);
Resultado:
int representación de ‘0’ = 48 int representación de ‘1’ = 49 int representación de ‘2’ = 50 So ‘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. Se le anima a buscar 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.