Usar Funções (e.g., round, floor, ceil) para Arredondar Valores
Neste passo, aprenderá a usar funções de arredondamento em C para manipular números de ponto flutuante. Modificaremos o arquivo rounding.c anterior para demonstrar diferentes técnicas de arredondamento.
Abra o arquivo existente:
cd ~/project
nano rounding.c
Substitua o conteúdo anterior pelo seguinte código:
#include <stdio.h>
#include <math.h>
int main() {
// Declarar variáveis de ponto flutuante
float num1 = 3.7;
double num2 = 4.2;
// Arredondar valores usando diferentes funções
printf("Valores originais:\n");
printf("num1: %.1f, num2: %.1f\n\n", num1, num2);
// Usando a função round()
printf("Função round:\n");
printf("round(num1): %.0f\n", round(num1));
printf("round(num2): %.0f\n\n", round(num2));
// Usando a função floor()
printf("Função floor:\n");
printf("floor(num1): %.0f\n", floor(num1));
printf("floor(num2): %.0f\n\n", floor(num2));
// Usando a função ceil()
printf("Função ceil:\n");
printf("ceil(num1): %.0f\n", ceil(num1));
printf("ceil(num2): %.0f\n", ceil(num2));
return 0;
}
Compile o programa com a biblioteca matemática:
gcc rounding.c -o rounding -lm
./rounding
Saída de exemplo:
Valores originais:
num1: 3.7, num2: 4.2
Função round:
round(num1): 4
round(num2): 4
Função floor:
floor(num1): 3
floor(num2): 4
Função ceil:
ceil(num1): 4
ceil(num2): 5
Pontos-chave sobre as funções de arredondamento:
round(): Arredonda para o inteiro mais próximo.
floor(): Arredonda para baixo para o inteiro mais próximo.
ceil(): Arredonda para cima para o inteiro mais próximo.
- O sinal
-lm é usado para vincular a biblioteca matemática durante a compilação.
- O especificador de formato
%.0f exibe inteiros sem casas decimais.