Ponto Flutuante: Double versus Float
Escolha entre Double e Float e saiba lidar com a precisão.
Ponto Flutuante: Double versus Float é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.
Tipos de ponto flutuante
O Swift tem dois tipos principais de ponto flutuante: Double (64 bits) e Float (32 bits). Eles representam números com partes fracionárias.
let d: Double = 3.14159
let f: Float = 3.14159
print(d, f)Double é o padrão
Quando o senhor escreve um literal decimal sem uma anotação de tipo, o Swift infere Double. Double oferece mais precisão que Float.
let value = 2.5
print(type(of: value))Diferença de precisão
Double armazena cerca de 15 dígitos decimais significativos; Float, apenas cerca de 6 ou 7. O mesmo literal pode ser exibido de forma diferente.
let d: Double = 0.1234567890123456
let f: Float = 0.1234567890123456
print(d)
print(f)A constante pi
Ambos os tipos fornecem .pi. Double.pi é mais preciso que Float.pi.
print(Double.pi)
print(Float.pi)Aritmética de ponto flutuante
O senhor pode somar, subtrair, multiplicar e dividir números de ponto flutuante. A divisão mantém o resultado fracionário.
let radius = 2.0
let area = Double.pi * radius * radius
print("Area:", area)Métodos de arredondamento
Os valores de ponto flutuante oferecem .rounded(), além de variantes como .rounded(.down) e .rounded(.up).
let x = 2.7
print(x.rounded())
print(x.rounded(.down))
print(x.rounded(.up))Arredondamento para baixo, para cima e truncamento
As regras de arredondamento permitem arredondar para baixo em direção ao infinito negativo, para cima em direção ao infinito positivo ou truncar em direção a zero.
let n = -2.3
print(n.rounded(.down))
print(n.rounded(.up))
print(n.rounded(.towardZero))Imprecisão de ponto flutuante
Devido à representação binária, alguns números decimais não podem ser armazenados com exatidão. 0.1 + 0.2 é famoso por não ser exatamente 0.3.
let sum = 0.1 + 0.2
print(sum)
print(sum == 0.3)Comparando números de ponto flutuante com segurança
Em vez de verificar a igualdade exata, compare números de ponto flutuante dentro de uma pequena tolerância (épsilon).
let sum = 0.1 + 0.2
let close = abs(sum - 0.3) < 0.0001
print("Close enough:", close)Valores especiais de ponto flutuante
Os tipos de ponto flutuante podem representar infinity e nan (não é um número). Verifique com .isInfinite e .isNaN.
let inf = Double.infinity
let notNum = Double.nan
print(inf.isInfinite)
print(notNum.isNaN)Escolhendo Double ou Float
Prefira Double para obter precisão na matemática em geral. Use Float somente quando a memória ou um equipamento específico, como os usados para gráficos, exigir um valor de 32 bits.
let preciseAvg: Double = (10.0 + 3.0) / 4.0
print(preciseAvg)Verificação rápida
Relembre qual tipo o Swift infere para literais decimais.
Recapitulação: Double versus Float
Você aprendeu que Double (64 bits, o padrão) é mais preciso que Float (32 bits), que ambos oferecem .pi e métodos de arredondamento e que a matemática de ponto flutuante é imprecisa; portanto, você deve comparar usando uma tolerância em vez de ==.
let a = 0.1 + 0.2
print("Raw:", a)
print("Rounded:", a.rounded())
print("Within tolerance of 0.3:", abs(a - 0.3) < 1e-9)Perguntas Frequentes
A aula “Ponto Flutuante: Double versus Float” é grátis?
Sim — o texto completo de “Ponto Flutuante: Double versus Float” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.
O que vou aprender em “Ponto Flutuante: Double versus Float”?
Escolha entre Double e Float e saiba lidar com a precisão. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Ponto Flutuante: Double versus Float”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Tipos Inteiros e Seus Intervalos
- Ponto Flutuante: Double versus Float
- Conversões Numéricas Explícitas
- Literais Numéricos e Sublinhados