Função do teto na linguagem C

Função do teto na linguagem C
O idioma C fornece uma extensa biblioteca de funções para resolver operações matemáticas, da mais básica para a mais complexa.

Em certos casos, é mais conveniente trabalhar com números inteiros nos argumentos de entrada dessas funções ou com seus resultados, porque nosso programa deve funcionar apenas com essas quantidades ou porque seus valores fracionários não representariam uma quebra significativa no resultado final de a operação.

Para essas operações de arredondamento, o idioma C fornece um conjunto de funções incluídas no "matemática" biblioteca. Para arredondar uma variável para o número inteiro mais próximo, existe a função teto (). Para arredondar uma variável para o número inteiro mais próximo, há o piso da função ().

Nisso Linux Dica Artigo, você aprenderá tudo sobre como usar a função para arredondar os valores fracionários para o número inteiro mais próximo.

Para ajudá -lo a entender e dominar melhor essa função, criamos exemplos práticos com fragmentos e imagens de código que mostram seu uso com diferentes tipos de variáveis ​​de entrada.

Sintaxe da função CEIL () na linguagem C:

teto duplo (duplo x)

Descrição da função do teto () no idioma C

Esta função roda para o próximo valor inteiro maior da variável numérica que é especificada em seus argumentos de entrada.

O teto () A função é um dos conjuntos de funções fornecidas pelo "matemática" biblioteca. Para usar esta função, devemos incluí -la em nosso ““.C ” Arquivo o seguinte:

#incluir

Depois que as bibliotecas de "matemática" estiverem incluídas, podemos usar o teto () para arredondar ou piso () para arredondar, bem como todas as funções nas bibliotecas de matemática.

Para obter o arredondamento de "X", você deve chamar essa função, especificando o nome da variável em seu argumento de entrada. Teto () retorna o resultado em "a".

Exemplo 1: Como arredondar um número inteiro fracionário com a função CEIL () no Linux GCC

Neste exemplo, veremos como arredondar um valor fracionário para o próximo número inteiro maior usando a função CEIL no GCC.

O snippet de código a seguir mostra como usar o teto () função para obter o arredondamento de duplo "x" que tenha um valor atribuído de 3.1416. Em seguida, a função printf () é usada para gerar o resultado como "a" no console de comando:

#incluir
#incluir
void main ()

duplo x = 3.1416;
duplo a;
a = teto (x);
printf ("O arredondamento de x é: %f \ n", a);
retornar;

Na imagem a seguir, vemos o resultado no console de comando. Nesse caso, o arredondamento de 3.1416 é 4.00000.

Problemas comuns com as funções de arredondamento teto () e piso () e como resolvê -los

Quando usamos as funções e compilamos nosso código, muitas vezes acontece que a compilação fornece o seguinte erro:

"principal.C: (.Texto+0x30): Referência indefinida ao 'teto' "

Isso nos faz procurar os erros de sintaxe ou variáveis ​​indefinidas em nosso “.C "ou".Código H ”, já que tudo indica que nosso problema está lá. Mas isso leva a uma perda de tempo valioso, já que nosso problema está na ligação das bibliotecas e na compatibilidade de dados dessas funções.

Para programadores que gostam de saber o motivo de um problema e não apenas resolvê -lo, explicaremos esse erro passo a passo para tornar a programação funcionar mais fluente e evitar carregar bibliotecas desnecessárias para o nosso código.

Para explicar isso, compilamos o código do exemplo anterior da seguinte forma. Na figura a seguir, vemos a compilação de nosso código e o erro referido nesta seção:

Isso ocorre porque, desde C99, o GCC divide suas bibliotecas em duas partes - libc e libm. Embora a biblioteca que nos referimos em nosso código seja encontrada em ambos, os tipos de dados que essas funções aceitam em cada uma de suas versões são diferentes, e essa é a fonte do problema.

Se o teto da função () for chamado com um int como entrada, o erro desaparece, embora ocorra o arredondamento.

Esses problemas são corrigidos no tempo de compilação, invocando o libm biblioteca na linha de comando que usamos para compilar. O seguinte é o caminho:

Documentos GCC/Principal.c -lm -o c

Conclusão

Neste artigo da dica do Linux, mostramos como usar a função sim para arredondar os valores fracionários para o número inteiro mais próximo. Explicamos passo a passo sobre como carregar a biblioteca "matemática" para usar esta função. Também mostramos como usar as funções de arredondamento desta biblioteca com um exemplo prático. Também mostramos um dos erros mais comuns ao usar essa função e como corrigi -la para obter uma tarefa de programação suave. Esperamos que você tenha achado este artigo de idioma C útil. Leia os outros artigos de dica do Linux para obter mais dicas e informações.