flotante r = 5.0f
o
doble r = 5.0
El valor 5.0 es un número representado como una fracción decimal (tiene un entero y una parte fraccionaria). En informática, estos números se denominan reales
Número real es un número que tiene una parte entera y una parte fraccionaria. Las partes enteras y fraccionarias están separadas entre sí por un punto, no por una coma como en matemáticas.
Incluso si la parte fraccionaria del número es cero, como en la variable \(r\) del ejemplo, el traductor seguirá creando una variable real en la memoria. El punto, por así decirlo, una señal para el traductor de que es necesario crear una variable real.
Números muy grandes y muy pequeños se escriben usando "coma flotante" (en el denominado formato científico).
En formato científico, un número se representa como mantisa (parte significativa del número) y exponente. Cuando se anota, la mantisa y el exponente están separados entre sí por la letra e (que indica 10 hasta cierto punto).
Por ejemplo, puede almacenar el valor de la carga de un electrón ( \(1.60217662 \times 10^{-19}\) C) en un variable, escribiendo de la siguiente forma
float El = 1.60217662e-19f //para una orden positiva, se puede omitir el signo +
o
dobleEl= 1.60217662e-19
Casi todos los números reales no se pueden almacenar en la memoria de la computadora con perfecta precisión, ya que se asigna una cantidad limitada de bits para su almacenamiento. Por lo tanto, al calcular con números reales se acumulan errores asociados a la inexactitud de la representación. Además, cuanto menos espacio se asigne, mayor será este error. Para reducir el error en Java se utiliza el tipo double , que almacena un número real con doble precisión en memoria (ocupa ocho bytes en memoria, mientras que el escriba \(flotante \)- 4 bytes)
|
Entrar
Puede ingresar varias variables reales del flujo de entrada y escribirlas en variables de la manera estándar:
doble x = en.siguienteDoble();
float y = in.nextFloat();
El primer número va en la variable \(x\), el segundo va en la variable \(y\)
Salida
Java tiene varias formas de mostrar números reales.
1) System.out.printf para salida de consola simple
De forma predeterminada, cuando se utiliza printf, los números reales se imprimen con una precisión de hasta 6 decimales. Pero hay casos que deben generarse con una precisión diferente. En este caso, debe especificar cuánta familiaridad asignar después del punto decimal.
doble a=0,5;
Sistema.salida.printf("%f",a); // en pantalla 0.500000
Sistema.salida.printf("%.2f",a); // en pantalla 0.5
Sistema.salida.printf("%10.2f",a); // puede establecer el número total de posiciones asignadas para la salida del número
System.out.printf("%.2e",a); // mostrar número en formato científico con precisión de 2 dígitos
2) DecmialFormat para obtener una cadena de un número usando un patrón dado
La clase DecmialFormat le permite controlar la salida de ceros iniciales y finales, prefijos y sufijos, separadores de miles y separadores de diez mil, pero esto hace que el código sea un poco más complejo.
doble a = 123,45;
DecimalFormat df = new DecimalFormat("#.###");
Cadena formateada = df.format(a); System.out.println(formateado); //123.45
Entrada |
Plantilla |
Salida |
Nota |
123,45 |
#.# |
123,5 |
Mostrado hasta un decimal con redondeo |
123,45 |
#.### |
123,45 |
Muestra el número entero sin ceros a la izquierda |
123,45 |
#.0 |
123,5 |
Mostrado hasta un decimal con redondeo |
123,45 |
#.000 |
123.450 |
Se muestra hasta el tercer carácter con un cero insignificante al final |
|
Cuando trabaje con números reales, puede utilizar la ya familiar clase M ath , que contiene una gran cantidad de funciones integradas.
Al resolver problemas, a menudo es necesario redondear números reales a los valores enteros más cercanos. Hay dos funciones para esto.
RECUERDA
1 con conversión de tipo explícita ( float x=1.5f; int y = int (x) ) - la parte fraccionaria de un número real se corta ( y = 1)
2 Matemáticas. piso(x) - devuelve el entero más grande menor o igual a \(x\) (redondear hacia abajo)
3 Matemáticas. ceil(x) - devuelve el entero más pequeño mayor o igual que \(x\) (redondear hacia arriba)
Aquí están las funciones más útiles contenidas en el módulo cmath .
Función |
Descripción |
Redondeo |
redondo(x) |
Redondea un número al entero más cercano. Si la parte fraccionaria del número es 0,5, entonces el número se redondea al número entero más próximo. |
piso(x) |
Redondea un número hacia abajo ("piso"), por lo tanto piso(1.5) == 1 , piso(-1.5) ==  ; -2 |
techo(x) |
Redondea un número hacia arriba ("techo"), mientras que ceil(1.5) == 2 , ceil(-1.5) ==  ; -1 |
abs(x) |
Módulo (valor absoluto). |
Raíces, logaritmos |
raíz cuadrada(x) |
Raíz cuadrada. Uso: y = sqrt(x) |
pow(x, y) |
Eleva x a la potencia y. \(x^y\) |
log(x) |
Logaritmo natural. |
exp(x) |
La base de los logaritmos naturales e = 2,71828... |
Trigonometría |
sen(x) |
Seno de un ángulo especificado en radianes |
cos(x) |
Coseno de un ángulo especificado en radianes |
bronceado(x) |
La tangente de un ángulo especificado en radianes |
asin(x) |
Arcsine, devuelve el valor en radianes |
acos(x) |
Arcocoseno, devuelve el valor en radianes |
atan(x) |
Arcotangente, devuelve el valor en radianes |
atan2(y, x) |
Ángulo polar (en radianes) del punto (x, y). |
Ejemplo de uso:
Elevando 2 a una potencia, porque pow devuelve un doble como respuesta, luego se requiere una conversión a int.
clase pública Principal {
público estático vacío principal(String[] argumentos) < spanstyle="color:#666666">{
int a = 2;
int b = (< span style="color:#b00040">int)Matemáticas.pow(a,2);
}
}
|