Diferencia entre revisiones de «Constantes fraccionarias (Informática)»

(Página creada con '''{{Definición|Nombre=Constantes fraccionarias|imagen= |concepto=Corresponden al concepto matemático de números fraccionarios. Es decir, cantidades con cierto número de cifr...')
 
Línea 1: Línea 1:
 
''{{Definición|Nombre=Constantes fraccionarias|imagen= |concepto=Corresponden al concepto matemático de números fraccionarios. Es decir, cantidades con cierto número de cifras decimales}}''  
 
''{{Definición|Nombre=Constantes fraccionarias|imagen= |concepto=Corresponden al concepto matemático de números fraccionarios. Es decir, cantidades con cierto número de cifras decimales}}''  
 +
 
<div align="justify">'''Constantes fraccionarias'''. 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 el código fuente puede contener:
 
<div align="justify">'''Constantes fraccionarias'''. 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 el código fuente puede contener:
      • Parte entera                          37.092e-2L  
+
 
      • Punto decimal                          37.092e-2L  
+
• Parte entera                          37.092e-2L  
      • Parte fraccionaria                    37.092e-2L  
+
• Punto decimal                          37.092e-2L  
      • e/E y un entero con signo (exponente)  37.092e-2L.  
+
• Parte fraccionaria                    37.092e-2L  
      • Sufijo (indicador de tipo): f/F ó l/L  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 ( - ).
 
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 ( - ).
  
== Dos posibles notaciones ==
+
== Posibles notaciones ==
 
Las reglas anteriores permiten utilizar para las constantes fraccionarias dos tipos de notación:
 
Las reglas anteriores permiten utilizar para las constantes fraccionarias dos tipos de notación:
      • Notación convencional (de punto decimal)
+
  • Notación convencional (de punto decimal)
      • Notación científica (con exponente E/e)
+
  • Notación científica (con exponente E/e)
 
 
  
 
=== Ejemplos: ===
 
=== Ejemplos: ===
Línea 19: Línea 20:
 
'''Expresión  Valor'''
 
'''Expresión  Valor'''
  
    23.45e6    23.45 10^6
+
  23.45e6    23.45 10^6
    .0        0
+
  .0        0
    0.        0.0
+
  0.        0.0
    1.        1.0
+
  1.        1.0
    -1.23      -1.23
+
  -1.23      -1.23
    2e-5      2.0  10^-5
+
  2e-5      2.0  10^-5
    3E+10      3.0  10^10
+
  3E+10      3.0  10^10
  .09E34    0.09 10^34
+
  .09E34    0.09 10^34
 
Nota: la notación 10^-5 significa 10 elevado a menos 5 ( 10-5 ).
 
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.
 
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:
 
Ejemplo:
    x = 1.;    // L.1:
+
  x = 1.;    // L.1:
    y = 1.f;    // L.2:
+
  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'.
 
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.
 
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.
Línea 38: Línea 39:
 
De forma análoga, el sufijo l / L la fuerza a ser del tipo long double.
 
De forma análoga, el sufijo l / L la fuerza a ser del tipo long double.
 
'''Ejemplo:'''
 
'''Ejemplo:'''
    long lg1 = 3.0;      // L.1:
+
  long lg1 = 3.0;      // L.1:
    long lg2 = 3.2L;    // L.2:
+
  long lg2 = 3.2L;    // L.2:
    long double = 4.0L;  // L.3: Ok.
+
  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'.
 
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'.
  
Línea 47: Línea 48:
 
Los rangos permitidos para los tres tipos disponibles son:
 
Los rangos permitidos para los tres tipos disponibles son:
 
float, double y long double.
 
float, double y long double.
    Tipo        Tamaño (bits)      Rango      .  
+
  Tipo        Tamaño (bits)      Rango      .  
    float        32            3.4  10^-38  a 3.4  10^38
+
  float        32            3.4  10^-38  a 3.4  10^38
    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>  
 
</div>  
 
== Véase también  ==
 
== Véase también  ==
 
 
*[[Constante (Informática)|Constante]]<br>  
 
*[[Constante (Informática)|Constante]]<br>  
 
*[[Expresiones constantes|Expresiones constantes]]  
 
*[[Expresiones constantes|Expresiones constantes]]  
Línea 63: Línea 63:
  
 
== Fuente  ==
 
== Fuente  ==
 
 
* [http://www.zator.com/Cpp/E3_2_3c.htm zator.com]
 
* [http://www.zator.com/Cpp/E3_2_3c.htm zator.com]
 
   
 
   
 
 
[[Category:Informática]] [[Category:Lenguajes_de_programación]] [[Category:Programación]]
 
[[Category:Informática]] [[Category:Lenguajes_de_programación]] [[Category:Programación]]

Revisión del 11:32 11 may 2011

Constantes fraccionarias (Informática)
Información sobre la plantilla
Concepto:Corresponden al concepto matemático de números fraccionarios. Es decir, cantidades con cierto número de cifras decimales

Constantes fraccionarias. 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 el código fuente puede contener:
• 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

Véase también

Fuente