Literales en C++

Un literal es cualquier valor numérico, carácter o cadena de caracteres que puede aparecer dentro de un programa.
Por ejemplo, literales C++ válidos pueden ser: 150, 12.4, “JOSE”, etc.
Hay 4 tipos de literales en C++: numéricos enteros, numéricos reales, carácter y cadena de caracteres.
Literal numérico entero en C++
Un literal numérico entero en C++ puede expresarse en base decimal (base 10), base octal (base 8) y base hexadecimal (base 16).
literales enteros en base decimal
Están formados por 1 o más dígitos del 0 al 9. El primer dígito debe ser distinto de cero.
Por ejemplo:
12
4303
4
El tipo del literal es int, unsigned int ó unsigned long int. Se toma como tipo, siguiendo ese orden, aquel en el que su valor pueda ser representado.
También podemos usar los sufijos U, L, UL para indicar explícitamente el tipo del literal. U indica que es del tipo unsigned int, L indica el tipo long y UL unsigned long. Por ejemplo:
1234          Tipo: int
1234U         Tipo: unsigned int
1234L         Tipo: long
1234UL       Tipo: unsigned long
literales enteros en base octal
Están formados por 1 o más dígitos del 0 al 7. El primer dígito debe ser cero.
Por ejemplo:
012
0430
04
El tipo del literal entero en octal es int, unsigned int, long int ó unsigned long int. Se toma como tipo, siguiendo ese orden, aquel en el que su valor pueda ser representado.
También podemos usar los sufijos U, L, UL para indicar explícitamente el tipo del literal.
Por ejemplo:
01234         Tipo: int
01234U       Tipo: unsigned int
01234L       Tipo: long
01234UL      Tipo: unsigned long
literales enteros en base hexadecimal

Están formados por 1 o más dígitos del 0 al 9 y letras de la A a la F. Estos literales deben comenzar por 0x ó 0X.
Por ejemplo:
0x1A2
0X430
0xF4
El tipo del literal entero en hexadecimal, si no se le ponen sufijos, sigue la misma regla que para los enteros octales.
También podemos usar los sufijos U, L, UL para indicar explícitamente el tipo del literal.
Por ejemplo:
0x1A          Tipo: int
0x1AU         Tipo: unsigned int
0x1AL         Tipo: long
0x1AUL       Tipo: unsigned long

Literal numérico real en C++
Son números en base 10, que deben llevar un parte entera, un punto decimal y una parte fraccionaria. Si la parte entera es cero, puede omitirse.
Por ejemplo:
12.2303    
-3.44    
+10.33    
0.456    
.96
También pueden representarse utilizando la notación científica. En este caso se utiliza una E (mayúscula o minúscula) seguida del exponente.
Por ejemplo, el número en notación científica 14*10-3  se escribe: 14E-3
Más ejemplos de literales numéricos reales en C++:
2.15E2    
.0007E4    
-50.44
5e-10
El tipo de estos literales es siempre double, a no ser que se añada el sufijo F para indicar que es float.
Por ejemplo:
2.15           Tipo: double
2.15F         Tipo: float
Literal de tipo carácter en C++
Contienen un solo carácter encerrado entre comillas simples.
Son de tipo char.
Los caracteres posibles son todos los contenidos en la tabla ASCII.
Las secuencias de escape se consideran literales de tipo carácter.
Por ejemplo:
'a'   
'4'  
'\n'
'\x07'
Los literales de carácter ampliado (wchar_t) se forman utilizando el prefijo L.
Por ejemplo:
wchar_t car = L'k'
Literal de cadena de caracteres en C++
Están formados por 0 ó más caracteres encerrados entre comillas dobles. Pueden incluir secuencias de escape.
Por ejemplo:
“Esto es una cadena de caracteres”
“Pulsa \”C\” para continuar”
“T” (cadena de un solo carácter, es diferente a ‘t’ que es un carácter)


2 comentarios: