Lo que sucede cuando convierte los números de punto flotante en números de punto fijo en Java (Java Me específicamente)

StackOverflow https://stackoverflow.com/questions/7309922

Pregunta

Quiero mi Java me programa para ejecutarse de la manera más eficiente posible. Mi objetivo es hacer un elenco de rayos y quiero saber la mejor manera de atravesar vóxeles. He oído que la conversión y la comparación de los números de puntos flotantes son muy intensivos en la CPU. Así que pensé por qué no agregar una cierta distancia a cada rayos x e y, truncar el resto y usar esas coordenadas para luego verificar un ocree para un voxel. Básicamente, ¿hay una mejor manera de hacer algo como esto para un Java me ¿programa?

¿Truncando números de puntos flotantes?

¿Fue útil?

Solución

"El punto flotante de las matemáticas es lenta" es la vieja sabiduría; sin embargo, también es sabiduría anticuada. En las CPU de escritorio modernas, los cálculos de punto flotante son rápidos, y hay poco que ganar en los cálculos de punto fijo.

Editar después de que vuelva a leer el título de la pregunta: El enfoque que describe es perfectamente viable, excepto que necesita multiplicar, no agregar, cada número. Sin embargo, primero debe escribir un pequeño programa de prueba de rendimiento que verifique si el tipo de cálculos que tiene la intención de hacer realmente se beneficiará de las matemáticas de punto fijo en el hardware donde tiene la intención de ejecutar su programa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top