Mi código pasa un ángulo en radianes al cos
, tan
y sin
. Todo parece funcionar bien, excepto el bronceado de 90
, que da el valor 16331239353195370
por alguna extraña razón. Código de ejemplo:tan() en Java devolviendo un valor extraño
import java.text.DecimalFormat;
public class mathtable {
public static void main(String[] args) {
System.out.println("Angle Sin Cos Tan");
System.out.println("----- --- --- ---");
for (double angle = 0.0; angle < 180; angle +=5) {
double angle_rad = Math.toRadians(angle);
double sin = Math.sin(angle_rad);
String sin_4 = new DecimalFormat("#.####").format(sin);
double cos = Math.cos(angle_rad);
String cos_4 = new DecimalFormat("#.####").format(cos);
double tan = Math.tan(angle_rad);
String tan_4 = new DecimalFormat("#.####").format(tan);
System.out.println(angle + " " + sin_4 + " " + cos_4 + " " + tan_4);
}
}
}
¿Por qué el valor devuelto no es estrictamente igual al IEEE infinito?
No pi/4 pero pi/2 = 90 grados. –
ahh sí, eso tiene sentido, ¡gracias! – Kynian
@SuzanCioc: Doh, gracias, corregido. –