Números reais

flutuante r = 5,0 O valor 5.0 é um número representado como uma fração decimal (tem um inteiro e uma parte fracionária). Na ciência da computação, esses números são chamados de números reais.
 
Um número real é um número que possui uma parte inteira e uma parte fracionária. As partes inteiras e fracionárias são separadas umas das outras por um ponto, não uma vírgula como na matemática.

Mesmo que a parte fracionária do número seja igual a zero, como na variável r do exemplo, o compilador ainda criará uma variável real na memória. O ponto, por assim dizer, é um sinal para o tradutor de que é necessário criar uma variável real. 

Números muito grandes e muito pequenos  são escritos usando "ponto flutuante" (no chamado formato científico).  
No formato científico, um número é representado como mantissa(parte significativa do número) e expoente. Quando escritos, a mantissa e o expoente são separados um do outro pela letra e (denotando 10 até certo ponto). 
Por exemplo, você pode armazenar o valor da carga de um elétron em uma variável 
\(1,60217662 \times 10^{-19}\) Kl), escrito como   flutuarEl= 1.60217662e-19 // para uma ordem positiva, o sinal + pode ser omitido
Quase todos os números reais não podem ser armazenados na memória do computador com precisão perfeita, pois um número limitado de bits é alocado para seu armazenamento. Portanto, ao calcular com números reais, os erros associados à imprecisão da representação se acumulam. Além disso, quanto menos espaço alocado, maior será esse erro. Para diminuir o erro em C++, é utilizado o tipo double, que armazena um número real com dupla precisão na memória (ocupa oito bytes de memória, enquanto o tipo float - 4 bytes).

Entre

Você pode inserir várias variáveis ​​reais do fluxo de entrada e escrevê-las em variáveis ​​da maneira padrão: flutuante x, y; cin>> x>> y; O primeiro número vai para a variável x, o segundo - para y.



Conclusão

Ao exibir números reais, 6 casas decimais são exibidas por padrão, com o formato científico ou ponto fixo selecionado automaticamente.
O formato de saída pode ser personalizado. Para isso, é utilizada uma biblioteca adicional iomanip - manipuladores que controlam a saída.
Para saída em formato de ponto fixo, o manipulador  fixed é usado, para formato científico - científico. Em seguida, você precisa determinar o número de dígitos na parte fracionária usando o manipulador  setprecision(). Usando o manipulador setw(), você pode definir o número total de posições alocadas para a saída numérica.

 
Exemplo
flutuante x = 1,0/6; cout << fixa << definirprecisão(9); // configura para exibir 9 dígitos na parte fracionária cout << setw(12) << x;
A tela exibirá _0.166666672
Todos os comandos podem ser escritos em uma linha: cout << fixa << setprecision(9) << setw(12) << x;

Operações com números reais. módulo cmath

Ao trabalhar com números reais, podemos usar o já conhecido módulo math, que contém um grande número de funções integradas. 
Ao resolver problemas, muitas vezes é necessário arredondar números reais para os valores inteiros mais próximos. Existem duas funções para isso.

É preciso lembrar!
1. com conversão de tipo explícita ( float x=1.5; int y = int(x))  -  a parte fracionária de um número real é cortada (y = 1); 
2. função floor(x) -  retorna o maior inteiro menor ou igual a x (arredondado para baixo);
3. função ceil(x) -  retorna o menor inteiro maior ou igual a x (arredondado para cima).

Aqui estão as funções mais úteis contidas no módulo cmath.
Função Descrição
Arredondamento
round(x)
C++11
Arredonda um número para o inteiro mais próximo. Se a parte fracionária do número for 0,5, o número será arredondado para o número inteiro mais próximo. 
trunc(x)
C++11
Descarta a parte fracionária
piso(x) Arredonda um número para baixo ("piso"), portanto piso(1.5) == 1piso(-1.5) ==  ; -2
ceil(x) Arredonda um número para cima ("ceiling"), enquanto ceil(1.5) == 2ceil(-1.5) ==  ; -1
abs(x) Módulo (valor absoluto).
fabs(x) Número real do módulo
Raízes, logaritmos
sqrt(x) Raiz quadrada. Uso: y = sqrt(x)
pow(x, y) Eleva x à potência de y. \(x^y\)
log(x) Logaritmo natural. 
exp(x) A base dos logaritmos naturais e = 2,71828...
Trigonometria
sin(x) Seno de um ângulo especificado em radianos
cos(x) Cosseno de um ângulo especificado em radianos
tan(x) A tangente de um ângulo especificado em radianos
asin(x) Arcsine, retorna o valor em radianos
acos(x) Arco cosseno, retorna o valor em radianos
atan(x) Arcotangente, retorna valor em radianos
atan2(y, x) Ângulo polar (em radianos) do ponto (x, y).