Eu tenho recebido bastante dúvidas dos incritos dos cursos e do canal. E alguns dos conceitos baseados nessas dúvidas iremos tratar aqui no cpp::daily, logo teremos postagens de dicas rápidas para documentarmos essas dúvidas .
Uma das dúvidas que recebi recentemente é o fato de encontrar a letra f acompanhado de números em C++: ex.: 3.69f
.
Em linhas gerais podemos dizer que esse número é um tipo literal do float: 8.04f
. Mas por que existe esse f se o tipo já é float? A resposta é porque por padrão todo número com .
(ponto) o C e C++ tratam como double, logo, precisamos tornar o tipo float explícito.
Vamos à um exemplo. Suponhamos que você deseja testar o número pi:
A princípio você diria que a saída desse código seria que É igual , mas teste e verás que a saída será: Não é igual .
Agora se adicionarmos o f: const float pi = 3.14f;
ainda não seria igual, se mantermos a condição sem o f.
Mas se adicionarmos o f na condição, seria igual:
Ou em ambos, que evita ainda mais “erro humano”:
Alternativamente você também pode usar o F maiúsculo que funciona da mesma forma.
É altamente recomendável você usar assim em todos os casos em que a precisão é importante, como games, por exemplo.
Existem também dados literais para outros tipos: long(L ou l), unsigned(U ou u), long unsigned(Ul ou ul), long long(LL ou ll) .
Por hoje é só, são pequenas doses diárias que farão sempre nos manter antenado com o C++.
Acompanhe o cpp::daily.