Ir ao conteúdo
  • Cadastre-se
bruce alves

Conversão explicita no c

Recommended Posts

porque na linguagem c quando dividimos dois numeros inteiros, o q pode dar um valor quebrado, necessitamos fazer uma conversão explicita, tipo no código abaixo:

int main() {
int a, b;
printf("Entre com uma fracao (numerador e denominador): ")
scanf("%d %d", &a, &b);
printf("A fracao em decimal e %f\n", (float) a / b); }

 

mexi com pascal e num precisava fazer isso, porque no bendito do c precisa? o exemplo tb vale se eu usar variavel:

int a=3;
int b=2;
float c= a/b;

 

dessa maneira ele não mostraria o resultado direito, só mostrando a parte inteira da divisão, porém:

int a=3;
int b=2;
float c= (float)a/b;

 

esse código já mostraria, usando o recurso de cast mas porque?  outra coisa o c trabalha com conversão implicita porque quando uso o código abaixo:

 

main(){
       float a=5.55;
       float b=2.22;
       int c = a;
       
       printf("a media ser %i",c);
       getch();
}      


 

ele não acusa erro de tipo misturado na linha em q eu atribuo o valor de a para c, chegando mesmo a exibir o valor já convertido, correto?

Editado por dif
Botão CODE <>

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando se divide int por int o linguagem toma como não lhe é importante a parte fracionaria e a descarta, por isso precisamos de um cast, para dizer ao compilador quequeremos conservar a parte fracionaria ao operar com floats.

No caso

10 horas atrás, bruce alves disse:

 float a=5.55;

 int c = a;


você não está convertendo realmente, você esta "descartando" da parte fracionaria de 'a' ja que 'c' não está preparado para guardar tais partes, realmente o que acontece é uma "degradação" da variavel a a int.

Editado por vangodp

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×