No sé por qué f o F se coloca después de flotar valores en Java u otros lenguajes? por ejemplo,

float fVariable = 12.3f;

cualquier otras características que indica que este es un valor de tipo float?

InformationsquelleAutor ipkiss | 2012-03-17

7 Comentarios

  1. 57

    por defecto 12.3 es double literal, por Así decir compilador a tratarlo como float explícitamente -> se utiliza f o F

    • Asimismo, cada conjunto literal es por defecto int. Así que cuando nos asignar un literal de esta manera: long x = 2147483648; (esto es 2^31 > int rango pero Compilador todavía consideran esto como int literal. así que tenemos que decirle compilador que esta es de largo por la adición de L o l ) de largo x = 2147483648L;
  2. 48

    Ver como sólo hay tantas maneras de representar un número en su programa, los diseñadores de Java había para escoger y asignar a cada formulario para la mayoría de los caso de uso habitual. Para esas formas seleccionada como predeterminada, el sufijo que denota el tipo exacto es opcional.

    • Para los literales de tipo Entero (int, long), el valor predeterminado es int. Por obvias
      razones.
    • Para literales de punto Flotante (float, double) el valor predeterminado es doble.
      Porque el uso de la doble potencialmente permite más seguro aritmética en la
      los valores almacenados.

    Así, cuando escribe 12 en su programa, que es un int literal, como contraposición a 12L, que es un largo.
    Y cuando escribe 12.3, eso es un doble literal, como contraposición a 12.3F, que es un float.

    Entonces, ¿dónde está esto? Principalmente en el manejo de downcasts, o el estrechamiento de las conversiones. Cada vez que usted abatido un tipo long int, o un doble a un flotador, la posibilidad de pérdida de datos existe. Así, el compilador obliga a indicar que realmente desea realizar la conversión de restricción, mediante la señalización de un error de compilación para algo como esto:

    float f = 12.3;

    Porque 12.3 representa un doble, usted tiene que convertir explícitamente a un flotador (básicamente la firma del estrechamiento de la conversión). De lo contrario, podría indicar que el número es realmente un flotador, mediante la correcta sufijo;

    float f = 12.3f;

    También resumir, tener que especificar un sufijo para anhela y flota es un compromiso el lenguaje de los diseñadores eligieron, con el fin de equilibrar la necesidad de especificar qué es exactamente un número, con la flexibilidad de la conversión de números a partir de un tipo de almacenamiento a otro.

    • Vale la pena señalar que si d es la mejor double representación de algunos numérico de la cantidad x, float f=(float)d será el más cercano float a algún valor que está dentro de una parte por billón de x, aunque se requiere una conversión de tipo. Por el contrario, si f es la mejor float representación de algún valor numérico x, double d=f no requieren una conversión de tipo, incluso aunque a menudo estar en ninguna parte cerca de los mejores double representación de x, y puede ser apagado por cientos de órdenes de magnitud. Me parece irónico que float f=(float)(1.0/10.0) necesita un yeso, pero double d=1.0f/10.0f no.
    • «Por lo tanto, el compilador de la fuerza que indique que usted realmente desea realizar la conversión de restricción, mediante la señalización de un error de compilación para algo como esto:» en caso de que también se aplican a tiempo, aunque
    • ¿por qué escriben Por razones obvias en el primer punto por favor, puedes elaborar todo esto ?
  3. 25

    float y double sólo puede proporcionar aproximado de representación de los valores de algunos valores. por ejemplo, un 12,3 0,1

    La diferencia es que el flotador no es tan exacta (ya que tiene menos precisión, debido a su menor)

    por ejemplo,

    System.out.println("0.1f == 0.1 is " + (0.1f == 0.1));
    System.out.println("0.1f is actually " + new BigDecimal(0.1f));
    System.out.println("0.1 is actually " + new BigDecimal(0.1));

    imprime

    0.1f == 0.1 is false
    0.1f is actually 0.100000001490116119384765625
    0.1 is actually 0.1000000000000000055511151231257827021181583404541015625

    Así 0.1 más cercano es el de la representación en double y 0.1f más cercano es el de la representación en float

    • Genial!!! pero żcuál es el real(matemática) 0,1 y que nadie es igual a la Cadena.valueOf(«0.1») ?
    • Sólo el BigDecimal es exactamente igual. El resto va a dar la respuesta correcta cuando se convierte a una Cadena si se usa correctamente.
  4. 4

    float fVariable = 12.3; está bien. pero cuando se utiliza sólo el valor de tipo float(sin identificador) en cualquier expresión que el tiempo que necesita para contar compilador que es el valor de flotación por tanto, debemos usar el sufijo «f» después del valor. ejemplo

    float fl =13f/5f;

    aquí de 13 y 5 son valores de coma flotante.

    • float fVariable = 12.3; no es correcto. siempre es necesario agregar f prefijo para flotar asignación. por defecto cada número real es el doble.
  5. 1

    Durante la compilación, todos los números de punto flotante (números con punto decimal) valor predeterminado para el doble.

    Por lo tanto, si usted no desea que su número se duplicará y solo quiero que como float, usted tiene que decirle explícitamente al compilador mediante la adición de un f o F al final del literal constante.

  6. 1

    En java tenemos muchos diferentes tipos de variables por lo que para hacer lo general , tiene algunas características predeterminadas. Como si nos dan una entrada 16.02 automáticamente toma como un doble entrada. Así que si desea especificar como float podemos mencionar que ‘f’ después de que el número o simplemente podemos utilizar:

    float f = (float) 16.02;

    o

    float f = 16.02f;

    De la misma manera tenemos que mencionar 16l si queremos que el número se guarda como un tipo largo de lo contrario, se selecciona automáticamente el tipo predeterminado es decir el tipo de int.

  7. 0

    Flotador es de simple precisión de 32 bits de punto flotante IEEE 754 y Doble es de doble precisión de 64 bits de punto flotante IEEE 754. Cuando se utiliza un valor con decimales y si no se especifica es como 0.23 f (específicamente float) java identifica como un doble.

    Para los valores decimales, doble tipo de datos es generalmente la opción predeterminada adoptadas por java.
    Marque Esta

Dejar respuesta

Please enter your comment!
Please enter your name here