Eduardo
2005-01-07 13:20:38 UTC
En una asignacion comun los trunca, hay funciones (ceil y floor) para
redondeos hacia arriba y hacia abajo, pero y al mas cercano?
La palabra de control del procesador matematico esta configurada siempre
para redondear al mas cercano, en una asignacion flot -> int corriente
llama a la rutina _ftol que cambia la palabra de control , ejecuta un FISTP
(lo unico que habia que hacer) y luego restaura el estado :-( , no hay
alguna opcion de compilacion para que asuma por defecto el redondeo al mas
cercano?
Saludos.
Eduardo.
PD. por si alguno no se dio cuenta, cada vez que no entiendo algo en C
recurro al listado en assembler, cada uno usa las herramientas que conoce
mejor...
redondeos hacia arriba y hacia abajo, pero y al mas cercano?
La palabra de control del procesador matematico esta configurada siempre
para redondear al mas cercano, en una asignacion flot -> int corriente
llama a la rutina _ftol que cambia la palabra de control , ejecuta un FISTP
(lo unico que habia que hacer) y luego restaura el estado :-( , no hay
alguna opcion de compilacion para que asuma por defecto el redondeo al mas
cercano?
Saludos.
Eduardo.
PD. por si alguno no se dio cuenta, cada vez que no entiendo algo en C
recurro al listado en assembler, cada uno usa las herramientas que conoce
mejor...