SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: zenyt en Jueves 18 de Marzo de 2004, 13:48

Título: Parte Entera De Un Número
Publicado por: zenyt en Jueves 18 de Marzo de 2004, 13:48
Por favor, me puede ayudar en mi problema... no se como sacar o retornar la Parte Entera de un Numero... Es necesaria para seguir aprendiendo en C porque la mayoria de Pseudocodigo que en la Universidad trabajamos se encuentra esta herramienta... Ayudenme...

Arigatou

 :comp:
Título: Re: Parte Entera De Un Número
Publicado por: nicokiki en Jueves 18 de Marzo de 2004, 14:06
Castealo a int


Salu2!!!!!!! :rolleyes:
Título: Re: Parte Entera De Un Número
Publicado por: Diabliyo en Sábado 20 de Marzo de 2004, 04:26
Hola:

Pues tal ves soy el unico que NO te endiente :P...seria bueno que pusieras un CODIGO y vieramos que hacemos :D

byeeeeeeee
Título: Re: Parte Entera De Un Número
Publicado por: JuanK en Sábado 20 de Marzo de 2004, 06:08
Cast y trunc etc

pues el cast es hacer que un tipo de dato se comporte como otro, no simpre funciona y en compiladores moderrnos hacerlo de manera incorrecta arrojaria un error.
ejemplo:

int b = 250;
char c =0;

c = (int) b;

lo que hicimos es asignarle a c el valor entero correspondiente a b,
dado que b solo es 250 cabe perfectamente en un tipo char..
sin embargo si b fuera mayor  que 255 seria un error puesto que un char solo te guarda hasta un byte (255) asi que el resultado no seria el deseado o bien un compiladolr podria generar una infraccion de acceso.

tambien puedes hacer esto:

int a =0;
float b= 12, 32415;

a=(int)b;

o de hecho es un cast implicito decir
a=b;

lo cual generalmente truncaria la oparte decimal de b y a seria
a= 12;

Lo que yo haria para hacer lo que pides seria irme por el lado mas limpio usando la libreria math y el encabezado math.h
para poder utilizar funciones como trunc y fix (o su equivalente).
trunc sirve para quitarle la parte decimal a un numero y fix lo aproxima.. es decir

b= 12, 75;
a = trunc(B);

a seria = 12;


b= 12, 75;
a = fix(B);

a seria =13


no recuerdo muy bien si la fucion se llama fix y la otra trunc..
investigalo.