Introdução
Neste laboratório, você aprenderá a trabalhar com aritmética de ponto flutuante em C. Você começará declarando variáveis float e double, em seguida, realizará várias operações aritméticas nelas e, finalmente, imprimirá os resultados com precisão apropriada. O laboratório abrange habilidades essenciais para trabalhar com números decimais e realizar cálculos matemáticos precisos na programação C.
O primeiro passo demonstra como declarar variáveis de ponto flutuante usando os tipos de dados float e double, e como imprimir os valores com a precisão desejada. O segundo passo concentra-se em realizar operações aritméticas, como adição, subtração, multiplicação e divisão, em números de ponto flutuante.
Declarar Variáveis Float ou Double
Neste passo, aprenderá a declarar variáveis de ponto flutuante em C usando os tipos de dados float e double. Variáveis de ponto flutuante são essenciais para armazenar números decimais e realizar cálculos matemáticos precisos.
Primeiro, vamos criar um novo arquivo C para demonstrar as declarações de variáveis:
cd ~/project
nano floating_variables.c
Agora, adicione o seguinte código ao arquivo:
#include <stdio.h>
int main() {
// Declarando variáveis float
float temperatura = 98.6;
float preco = 19.99;
// Declarando variáveis double
double pi = 3.14159265359;
double numero_grande = 1234567890.123456789;
// Imprimindo as variáveis
printf("Temperatura (float): %.2f\n", temperatura);
printf("Preço (float): %.2f\n", preco);
printf("Pi (double): %.5f\n", pi);
printf("Número Grande (double): %.9f\n", numero_grande);
return 0;
}
Compile e execute o programa:
gcc floating_variables.c -o floating_variables
./floating_variables
Exemplo de saída:
Temperatura (float): 98.60
Preço (float): 19.99
Pi (double): 3.14159
Número Grande (double): 1234567890.123456789
Vamos analisar o código:
floaté usado para números de ponto flutuante de precisão única (tipicamente 4 bytes)doubleé usado para números de ponto flutuante de precisão dupla (tipicamente 8 bytes)- Os especificadores de formato
%.2fe%.5fcontrolam a precisão dos decimais ao imprimir.
Realizar Operações Aritméticas em Valores de Ponto Flutuante
Neste passo, aprenderá a realizar várias operações aritméticas em números de ponto flutuante em C, incluindo adição, subtração, multiplicação e divisão.
Vamos modificar o arquivo anterior para demonstrar a aritmética de ponto flutuante:
cd ~/project
nano floating_arithmetic.c
Adicione o seguinte código ao arquivo:
#include <stdio.h>
int main() {
// Declarar variáveis de ponto flutuante
float a = 10.5;
float b = 3.2;
// Adição
float soma = a + b;
printf("Adição: %.2f + %.2f = %.2f\n", a, b, soma);
// Subtração
float diferenca = a - b;
printf("Subtração: %.2f - %.2f = %.2f\n", a, b, diferenca);
// Multiplicação
float produto = a * b;
printf("Multiplicação: %.2f * %.2f = %.2f\n", a, b, produto);
// Divisão
float quociente = a / b;
printf("Divisão: %.2f / %.2f = %.2f\n", a, b, quociente);
// Operações aritméticas mistas
float calculo_misto = (a + b) * (a - b) / b;
printf("Cálculo Misto: (%.2f + %.2f) * (%.2f - %.2f) / %.2f = %.2f\n",
a, b, a, b, b, calculo_misto);
return 0;
}
Compile e execute o programa:
gcc floating_arithmetic.c -o floating_arithmetic
./floating_arithmetic
Exemplo de saída:
Adição: 10.50 + 3.20 = 13.70
Subtração: 10.50 - 3.20 = 7.30
Multiplicação: 10.50 * 3.20 = 33.60
Divisão: 10.50 / 3.20 = 3.28
Cálculo Misto: (10.50 + 3.20) * (10.50 - 3.20) / 3.20 = 24.41
Pontos chave sobre aritmética de ponto flutuante:
- Use o especificador de formato
%.2fpara controlar a precisão decimal. - As operações de ponto flutuante seguem as regras matemáticas padrão.
- Esteja ciente das potenciais limitações de precisão com cálculos de ponto flutuante.
Imprimir Resultados com Precisão Adequada
Neste passo, aprenderá a controlar a precisão da saída de números de ponto flutuante usando especificadores de formato em C.
Crie um novo arquivo para explorar diferentes formatações de precisão:
cd ~/project
nano floating_precision.c
Adicione o seguinte código ao arquivo:
#include <stdio.h>
int main() {
// Declarar variáveis de ponto flutuante
double pi = 3.14159265358979323846;
double numero_grande = 1234567.89012345;
// Impressão padrão (precisão limitada)
printf("Impressão Padrão:\n");
printf("Pi: %f\n", pi);
printf("Número Grande: %f\n\n", numero_grande);
// Controlando casas decimais
printf("Precisão Controlada:\n");
printf("Pi com 2 casas decimais: %.2f\n", pi);
printf("Pi com 5 casas decimais: %.5f\n", pi);
printf("Pi com 10 casas decimais: %.10f\n\n", pi);
// Notação científica
printf("Notação Científica:\n");
printf("Número Grande (padrão): %e\n", numero_grande);
printf("Número Grande (3 casas decimais): %.3e\n\n", numero_grande);
// Largura e precisão combinadas
printf("Largura e Precisão:\n");
printf("Pi (largura 10, 4 casas decimais): %10.4f\n", pi);
printf("Número Grande (largura 15, 2 casas decimais): %15.2f\n", numero_grande);
return 0;
}
Compile e execute o programa:
gcc floating_precision.c -o floating_precision
./floating_precision
Exemplo de saída:
Impressão Padrão:
Pi: 3.141593
Número Grande: 1234567.890123
Precisão Controlada:
Pi com 2 casas decimais: 3.14
Pi com 5 casas decimais: 3.14159
Pi com 10 casas decimais: 3.1415926536
Notação Científica:
Número Grande (padrão): 1.234568e+06
Número Grande (3 casas decimais): 1.235e+06
Largura e Precisão:
Pi (largura 10, 4 casas decimais): 3.1416
Número Grande (largura 15, 2 casas decimais): 1234567.89
Pontos chave sobre formatação de precisão:
%fé o especificador de formato padrão para números de ponto flutuante..2fsignifica 2 casas decimais,.5fsignifica 5 casas decimais.%eou%Emostra a notação científica.- Os especificadores de largura ajudam a alinhar e formatar a saída.
Resumo
Neste laboratório, aprendeu a declarar variáveis de ponto flutuante usando os tipos de dados float e double, e como realizar operações aritméticas nesses valores, incluindo adição, subtração, multiplicação e divisão. Também aprendeu a controlar a precisão das casas decimais ao imprimir números de ponto flutuante usando especificadores de formato. Essas habilidades são essenciais para trabalhar com dados decimais e realizar cálculos matemáticos precisos na programação C.



