Uma constante de ponto flutuante deve ter um ponto decimal, um expoente de dez, ou ambos; isso a distingue de uma constante do tipo inteiro.
Para indicar um expoente, use ‘e’ ou ‘E’. O valor do expoente segue em seguida, sempre como um número decimal; ele pode opcionalmente começar com um sinal. O expoente n significa multiplicar o valor da constante por dez elevado à potência n.
Assim, ‘1500.0’, ‘15e2’, ‘15e+2’, ‘15.0e2’, ‘1.5e+3’, ‘.15e4’ e ‘15000e-1’ são seis maneiras de escrever um número de ponto flutuante cujo valor é 1500. Todas são equivalentes em princípio.
Uma constante de ponto flutuante normalmente tem o tipo double. Você pode forçá-la a ser do tipo float adicionando ‘f’ ou ‘F’ no final. Por exemplo:
Da mesma forma, adicionar ‘l’ ou ‘L’ no final força a constante a ser do tipo long double.
Você também pode usar expoentes em constantes de ponto flutuante em hexadecimal, mas como ‘e’ seria interpretado como um dígito hexadecimal, o caractere ‘p’ ou ‘P’ (de "potência") indica um expoente.
O expoente em uma constante de ponto flutuante hexadecimal é um inteiro decimal com sinal opcional que especifica uma potência de 2 (não 10 ou 16) a ser multiplicada no número.
Exemplos:
Veja .
3.14159f
3.14159e0f
1000.f
100E1F
.0005f
.05e-2f
0xAp2 // 40 em decimal
0xAp-1 // 5 em decimal
0x2.0Bp4 // 32.6875 em decimal
0xE.2p3 // 113 em decimal
0x123.ABCp0 // 291.6708984375 em decimal
0x123.ABCp4 // 4666.734375 em decimal
0x100p-8 // 1
0x10p-4 // 1
0x1p+4 // 16
0x1p+8 // 256