Articles of punto flotante

¿Es fmod () exacto cuando y es un número entero?

Al usar double fmod(double x, double y) e y es un entero, el resultado parece ser siempre exacto. (Eso es un número entero y no significa int aquí). Tal vez C no requiera que fmod() brinde respuestas exactas en estos casos seleccionados, pero en los comstackdores que he probado, el resultado es exacto, incluso cuando […]

¿Cuál es la forma más rápida de convertir float a int en x86?

¿Cuál es la forma más rápida que sabe de convertir un número de punto flotante a un int en una CPU x86? Preferiblemente en C o en conjunto (que puede estar alineado en C) para cualquier combinación de lo siguiente: Flotador de 32/64/80 bits -> entero de 32/64 bits Estoy buscando alguna técnica que sea […]

¿Qué sucede con una variable flotante cuando% d se usa en una impresión?

Intento aprender C leyendo C Programming Language, 2nd Edition . Tengo algo de experiencia en progtwigción pero no con C. Actualmente estoy en el Capítulo 1. Tengo el siguiente código: float f; for (f = 0.0; f <= 3; f += 1.1) printf("A: %3f B: %6.2f\n", f, f + 0.15); Imprime la salida: A: 0.000000 […]

¿Qué tan determinista es la inexactitud del punto flotante?

Entiendo que los cálculos de coma flotante tienen problemas de precisión y hay muchas preguntas que explican por qué. Mi pregunta es si ejecuto el mismo cálculo dos veces, ¿siempre puedo confiar en que produzca el mismo resultado? ¿Qué factores pueden afectar esto? Tiempo entre cálculos? ¿Estado actual de la CPU? Hardware diferente? Idioma / […]

Cambiar el modo de redondeo de coma flotante

¿Cuál es la forma más eficiente de cambiar el modo de redondeo * de los números de punto flotante IEEE 754? Una función C portátil sería agradable, pero una solución que usa ensamblaje x86 también está bien. * Me refiero a los modos de redondeo estándar de hacia el más cercano, hacia cero, y hacia […]

“F” después del número / flotante en Objective-C / C

No puedo encontrar esto en los documentos de Apple así que: ¿qué indica la “f” después de los números aquí? ¿Esto es de C o Objective-C? ¿Hay alguna diferencia en no agregar esto a un número constante? CGRect frame = CGRectMake(0.0f, 0.0f, 320.0f, 50.0f); ¿Puedes explicar por qué no solo escribiría? CGRect frame = CGRectMake(0, […]

¿Por qué la conversión de float a double cambia el valor?

He estado tratando de descubrir el motivo, pero no pude. Alguien puede ayudarme? mira el siguiente ejemplo. float f; f = 125.32f; System.out.println(“value of f = ” + f); double d = (double) 125.32f; System.out.println(“value of d = ” + d); Este es el resultado: valor de f = 125.32 valor de d = 125.31999969482422

Número decimal truncado no redondeado

Posible duplicado: c # – ¿Cómo redondeo un valor decimal a 2 decimales (para salida en una página) Quiero truncar los decimales como a continuación es decir 2.22939393 -> 2.229 2.22977777 -> 2.229

¿Los comstackdores JIT de cualquier JVM generan código que usa instrucciones vectorizadas de punto flotante?

Digamos que el cuello de botella de mi progtwig Java realmente es un poco difícil para calcular un montón de productos vector dot. Sí, tengo un perfil, sí, es el cuello de botella, sí, es significativo, sí, así es como funciona el algoritmo, sí, he ejecutado Proguard para optimizar el código de bytes, etc. El […]

La impresión de números en coma flotante de x86-64 parece requerir que se guarde% rbp

Cuando escribo un progtwig de lenguaje ensamblador simple, vinculado con la biblioteca C, usando gcc 4.6.1 en Ubuntu, y trato de imprimir un entero, funciona bien: .global main .text main: mov $format, %rdi mov $5, %rsi mov $0, %rax call printf ret format: .asciz “%10d\n” Esto imprime 5, como se esperaba. Pero ahora si hago […]