Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa Próxima revisión Ambos lados, revisión siguiente | ||
curso-cpp:variables-valores-tipos [2017/02/06 21:44] santo [Expresiones con char] |
curso-cpp:variables-valores-tipos [2017/02/09 20:40] santo [Tipos] |
||
---|---|---|---|
Línea 20: | Línea 20: | ||
* ''int'': El tipo int es uno de los más comunes. Se utiliza para representar **números enteros**. Así, los textos como ''"Seminario"'' no pueden ser valores de tipo int. El tipo int representa números enteros, ya sean positivos, negativos, o cero, pero no se puede usar para números arbitrariamente grandes: Únicamente permite números desde -2147483648 (que es 2 a la 31 negativo) hasta 2147483647 (que es 2 a la 31 menos 1), inclusive. Si las cuentas intermedias que realicemos en nuestro programa generan números por fuera de este rango, se producirán resultados erróneos. A eso lo llamamos **overflow**, y es un peligro con el que siempre se tiene que tener cuidado cuando los números con los que trabajamos puedan volverse grandes. | * ''int'': El tipo int es uno de los más comunes. Se utiliza para representar **números enteros**. Así, los textos como ''"Seminario"'' no pueden ser valores de tipo int. El tipo int representa números enteros, ya sean positivos, negativos, o cero, pero no se puede usar para números arbitrariamente grandes: Únicamente permite números desde -2147483648 (que es 2 a la 31 negativo) hasta 2147483647 (que es 2 a la 31 menos 1), inclusive. Si las cuentas intermedias que realicemos en nuestro programa generan números por fuera de este rango, se producirán resultados erróneos. A eso lo llamamos **overflow**, y es un peligro con el que siempre se tiene que tener cuidado cuando los números con los que trabajamos puedan volverse grandes. | ||
- | * ''string'': El tipo string se utiliza para representar **cadenas de texto**. Como hemos explicado antes, no podremos entonces restar dos valores de tipo string. | + | * ''string'': El tipo string se utiliza para representar **cadenas de texto**. Como hemos explicado antes, no podremos entonces restar dos valores de tipo string. Para utilizar ''string'' hay que agregar la línea ''#include <string>'' al comienzo del programa. |
* ''char'': Este es un tipo de datos que nunca usamos antes. Un valor de tipo ''char'' representa un caracter, es decir, una letra particular de un texto. Así como anotamos los valores de tipo string entre comillas dobles ''"'', anotamos los valores de tipo char entre comillas simples. Por ejemplo, '''a' '', '''b' '', '''A' '', ''')' '', '''+' '', ''' ' '' son todos valores distintos de tipo char. Es decir, cada letra en particular de un valor de tipo string, será un valor de tipo char. | * ''char'': Este es un tipo de datos que nunca usamos antes. Un valor de tipo ''char'' representa un caracter, es decir, una letra particular de un texto. Así como anotamos los valores de tipo string entre comillas dobles ''"'', anotamos los valores de tipo char entre comillas simples. Por ejemplo, '''a' '', '''b' '', '''A' '', ''')' '', '''+' '', ''' ' '' son todos valores distintos de tipo char. Es decir, cada letra en particular de un valor de tipo string, será un valor de tipo char. | ||
Línea 65: | Línea 65: | ||
Similarmente, podemos obtener la distancia en el abecedario entre dos letras haciendo su resta: '' 'e' - 'a' '' dará por resultado un **int**, en este caso 4 (pues desde la a hay que avanzar 4 letras para llegar a la e). Notar que si mezclamos mayúsculas con minúsculas, en estos casos tendremos resultados incorrectos, pues en la tabla ASCII mencionada las mayúsculas y minúsculas tienen códigos diferentes (no son el mismo caracter). | Similarmente, podemos obtener la distancia en el abecedario entre dos letras haciendo su resta: '' 'e' - 'a' '' dará por resultado un **int**, en este caso 4 (pues desde la a hay que avanzar 4 letras para llegar a la e). Notar que si mezclamos mayúsculas con minúsculas, en estos casos tendremos resultados incorrectos, pues en la tabla ASCII mencionada las mayúsculas y minúsculas tienen códigos diferentes (no son el mismo caracter). | ||
- | Otra propiedad útil del ordenamiento ASCII es que los **dígitos** del '' '0' '' al '' '9' '' están en orden y todos juntos en el ordenamiento, por lo tanto si sabemos que la variable ''x'' contiene un ''char'' que corresponde a un dígito, con ''int valor = x - '0';'' podemos obtener el valor numérico del caracter, directamente en un entero. | + | Otra propiedad útil del ordenamiento ASCII es que los **dígitos** del '' '0' '' al '' '9' '' están en orden y todos juntos en el ordenamiento; y por lo tanto, si sabemos que ''x'' es un ''char'' que corresponde a un dígito, con la expresión ''x - '0' '' podemos obtener el valor numérico del caracter, directamente como un número entero. |
===== Variables ===== | ===== Variables ===== | ||