Ferramentas do usuário

Ferramentas do site


prog2:conversao_de_tipos

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
prog2:conversao_de_tipos [2019/05/01 12:10]
maziero [Conversão de/para strings]
prog2:conversao_de_tipos [2019/10/14 13:27] (atual)
maziero
Linha 5: Linha 5:
 ===== Conversão implícita ===== ===== Conversão implícita =====
  
-Quando uma operação lógica/​aritmética envolve dois operandos de tipos distintos, o compilador primeiro os converte para um único tipo, antes de avaliá-la. Nos caso de tipos numéricos, essa conversão é definida pela regra de **promoção automática**,​ segundo a qual o tipo de tamanho ​menor (com menos bytes) é automaticamente convertido ("​promovido"​) para o tipo de maior tamanho (com mais bytes).+Quando uma operação lógica/​aritmética envolve dois operandos de tipos distintos, o compilador primeiro os converte para um único tipo, antes de avaliá-la. Nos caso de tipos numéricos, essa conversão é definida pela regra de **promoção automática**,​ segundo a qual o tipo de menor tamanho ​(com menos bytes) é automaticamente convertido ("​promovido"​) para o tipo de maior tamanho (com mais bytes).
  
 A hierarquia de tipos considerada para a promoção automática é a seguinte (os tipos ''​unsigned''​ estão no mesmo nível de hierarquia que seus equivalentes ''​signed''​):​ A hierarquia de tipos considerada para a promoção automática é a seguinte (os tipos ''​unsigned''​ estão no mesmo nível de hierarquia que seus equivalentes ''​signed''​):​
Linha 97: Linha 97:
 float media ; float media ;
  
-soma = 100 +soma = 10 
-num  = 40 ;+num  = ;
  
 media = soma / num ; // media = 2.0 (por que?) media = soma / num ; // media = 2.0 (por que?)
Linha 112: Linha 112:
 float media ; float media ;
  
-soma = 100 +soma = 10 
-num  = 40 ;+num  = ;
  
 media = soma / num ; // errado, perda de precisão media = soma / num ; // errado, perda de precisão
Linha 126: Linha 126:
 ===== Conversão de/para strings ===== ===== Conversão de/para strings =====
  
-No caso específico de strings, a conversão destas para outros tipos pode ser efetuada através de funções específicas:​+No caso específico de strings, a conversão destas para outros tipos é efetuada através de funções específicas:​
  
 <code c> <code c>
prog2/conversao_de_tipos.1556723429.txt.gz · Última modificação: 2019/05/01 12:10 por maziero