C/Visual C - Float, Round, Static

 
Vista:

Float, Round, Static

Publicado por Laury (1 intervención) el 23/08/2001 04:16:10
Unas consultitas:
1)En 'C' cuando se usa float y cuando double. Si tengo
que realizar calculos con importes con decimales donde se utilizan
porcentajes etc, cual habria que usar?
2)Como realizo un redondeo en 'C', ya que la funcion floor
me da el piso y ceil el techo, pero el redondeo?
3)Si utilizo una funcion que tiene una variable local
que se utiliza para retornar el valor, como conviene definirla,
como static o no?
Muchisimas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Float, Round, Static

Publicado por Erick (92 intervenciones) el 23/08/2001 23:24:54
Para las porcentajes, si no vas a utlilizar muchos decimales esta bien que utilices Float.

Para el redondeo. La verdad, no se, pero ¿Ya lo intentaste utilisando solo una variable int ?

Para la variable. Aver, Si su valor siempre va a ser el mismo, te recomiendo que mejor uses el "define" ejem. #define num 5;
y asi solo mandaras a llamar a num que tendra siempre el valor de 5, este declaralo despues de las librerias.

Bueno espero que te aya podido ayudar en algo.

DTB

Erick Rios


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Static

Publicado por Germán B. (27 intervenciones) el 24/08/2001 03:54:18
Respecto a la tercera pregunta, depende del caso particular. Es cuestión de comprender la diferencia entre una variable static y una automática (no static).
Las automáticas son "creadas" cuando la función se comienza a ejecutar, y desaparecen una vez que la función terminó. Mientras no se está ejecutando la función, estas variables no existen en ninguna parte.
Una variable static, en cambio, es creada únicamente una vez para toda la ejecución del programa y se mantiene "guardada" sin que se pierda su valor, aun si la función a la que pertenece no se está ejecutando. Entonces, cuando se vuelve a ejecutar la función, ahí está la variable static con el mismo valor que tenía cuando la función terminó la vez anterior. Las static se usan cuando es necesario que el valor se mantenga entre una y otra llamada. Un ejemplo sencillo: una función que cuenta la cantidad de veces que se ejecuta, incrementa en 1 una variable local static.
Las static pueden ser inicializadas, pero esto ocurre solo una vez:

int mi_funcion(void) {
static int mi_static=54;
...

En ese ejemplo NO se inicializa a 54 cada vez que se ejecuta la función, sino solo al principio del programa, luego se mantiene cualquier valor que tuviera la variable. Si no fuera static, sí se inicializaría cada vez que se ejecuta la función.
Conclusión: no es que convenga a priori una cosa o la otra para una variable usada para retornar un valor. La necesidad de declararla static o no pasa por otro lado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar