Diferencia entre revisiones de «Constantes fraccionarias (Informática)»
Línea 1: | Línea 1: | ||
− | {{Definición|Nombre=Constantes fraccionarias|imagen= |concepto=Corresponden al concepto matemático de números fraccionarios}}'''Constantes fraccionarias (Informática).''' También llamada "de punto flotante" corresponden al concepto matemático de números fraccionarios. Es decir, cantidades con cierto número de cifras decimales. Su representación en el [[código fuente]] puede contener: | + | {{Definición|Nombre=Constantes fraccionarias|imagen= |concepto=Corresponden al concepto matemático de números fraccionarios}}<div align="justify">'''Constantes fraccionarias (Informática).''' También llamada "de punto flotante" corresponden al concepto matemático de números fraccionarios. Es decir, cantidades con cierto número de cifras decimales. Su representación en el [[código fuente]] puede contener: |
*Parte entera '''37'''.092e-2L | *Parte entera '''37'''.092e-2L | ||
Línea 51: | Línea 51: | ||
*double 64 1.7 10^-308 a 1.7 10^308 | *double 64 1.7 10^-308 a 1.7 10^308 | ||
*long double 80 3.4 10^-4932 a 1.1 10^4932 | *long double 80 3.4 10^-4932 a 1.1 10^4932 | ||
− | + | </div> | |
== Véase también == | == Véase también == | ||
− | *[[Constante (Informática)|Constante]] | + | *[[Constante (Informática)|Constante]]<br> |
− | |||
*[[Constantes enteras|Constantes enteras]] | *[[Constantes enteras|Constantes enteras]] | ||
+ | *[[Constantes de enumeración (Informática)|Constantes de enumeración]] | ||
+ | *[[Constantes carácter (Informática)|Constantes carácter]] | ||
+ | *[[Constantes de cadena (Informática)|Constantes de cadena]] | ||
== Fuente == | == Fuente == |
Revisión del 10:17 12 jun 2011
|
- Parte entera 37.092e-2L
- Punto decimal 37.092e-2L
- Parte fraccionaria 37.092e-2L
- e/E y un entero con signo (exponente) 37.092e-2L.
- Sufijo (indicador de tipo): f/F ó l/L 37.092e-2L
Pueden omitirse la parte entera o la decimal (pero no ambas); pueden omitirse el punto decimal y la letra E (e), y el exponente (pero no ambos). Las constantes fraccionarias negativas se forman igual que las positivas, pero precediéndolas con el operador unitario menos ( - ).
Posibles notaciones
Las reglas anteriores permiten utilizar para las constantes fraccionarias dos tipos de notación:
- Notación convencional (de punto decimal)
- Notación científica (con exponente E/e)
Ejemplos:
Expresión Valor
- 23.45e6 23.45 10^6
- .0 0
- 0. 0.0
- 1. 1.0
- -1.23 -1.23
- 2e-5 2.0 10^-5
- 3E+10 3.0 10^10
- .09E34 0.09 10^34
Nota: la notación 10^-5 significa 10 elevado a menos 5 ( 10-5 ).
En ausencia de cualquier sufijo, las constantes fraccionarias se consideran de tipo double, aunque se puede obligar a que sea considerada de tipo float añadiéndole el sufijo f ó F. Ejemplo:
- x = 1.; // L.1:
- y = 1.f; // L.2:
En L.1 la constante 1.0 es considerada double, y podría producir una advertencia del compilador: Warning: Initialización to 'int' from 'double'. L.2 produciría: Warning: Initialización to 'int' from 'float'. La razón es que, por tradición del C, en ausencia de una declaración explícita de tipo, en expresiones como L.1 y L.2, el compilador C++ supone que x e y son tipo int.
De forma análoga, el sufijo l / L la fuerza a ser del tipo long double. Ejemplo:
- long lg1 = 3.0; // L.1:
- long lg2 = 3.2L; // L.2:
- long double = 4.0L; // L.3: Ok.
En L.1el compilador puede mostrar un aviso: Warning: initialization to 'long int' from 'double'. En L.2 el aviso sería: Warning: initialization to 'long int' from 'long double'.
Rangos permitidos
Los rangos permitidos para los tres tipos disponibles son: float, double y long double.
- Tipo Tamaño (bits) Rango .
- float 32 3.4 10^-38 a 3.4 10^38
- double 64 1.7 10^-308 a 1.7 10^308
- long double 80 3.4 10^-4932 a 1.1 10^4932