Ir para conteúdo
Fórum Script Brasil
  • 0

float * float = errado


Fabio Vicente

Pergunta

Bom dia, estou com esse problema, devo estar errando alguma coisa.

Pela calculadora 100,64 x 100,64 = 10.128,4096

Mas usando o código abaixo no ideone.com está dando resultado 10.128.4

Alguém sabe como resolver isso ?

 

#include <iostream>
using namespace std;

int main() {

float a = 100.64 * 100.64;
cout << a ;
    return 0;
}

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
1 hora atrás, britivaldo disse:

Float é um tipo menos preciso que double e o número de casa decimais foi arredondado para caber na saída padrão. Na norma EUA, o separador de frações é ponto (.).

escreva std::fixed para desligar o arredondar.

Obrigado pela resposta,

é como você disse, está resolvido.

Link para o comentário
Compartilhar em outros sites

  • 0

Aparte disso você esta multiplicando um double por outro double e tentando guardar o resultado em um float causando assim a perda de informação. O que acontece neste caso é uma conversão implícita de tipos de double a float e isso pode dar lugar a erros importantes no seu código em um futuro.

procure fazer desta forma:

float a = 100.64f * 100.64f;

O sufixo especifica o  de literal de numero real:

(sem sufixo) se define um double

Com sufixos f ou F se define float

Com sufixos l ou L se define long double

 

O numero 100.64 se diz que é um literal de ponto flotante porem pode dar lugar a ambiguidades. você pode querer um double, um float, um long double, etc, por isso você deve informar o compilador usando os sufixos acima mencionados assim da a entender que você tem o controle do seu programa.

Existem muitos tipos de literais, para praticamente todos os tipos, lhe recomendo que procure sobre o tema.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...