Función de techo en lenguaje C

Función de techo en lenguaje C
El lenguaje C proporciona una extensa biblioteca de funciones para resolver operaciones matemáticas, desde las más básicas hasta la más compleja.

En ciertos casos, es más conveniente trabajar con enteros en los argumentos de entrada de estas funciones o con sus resultados, ya sea porque nuestro programa solo debería funcionar con estas cantidades o porque sus valores fraccionales no representarían una ruptura significativa en el resultado final del resultado final del resultado final del resultado final del resultado final del resultado final del resultado final del resultado final. la operacion.

Para estas operaciones de redondeo, el lenguaje C proporciona un conjunto de funciones incluidas en el "matemáticas" biblioteca. Para redondear una variable al entero más cercano, existe la función fortificar techo(). Para redondear una variable al entero más cercano, existe el piso de la función ().

En esto Pista de Linux Artículo, aprenderá todo sobre el uso de la función para redondear los valores fraccionales al número entero más cercano.

Para ayudarlo a comprender mejor y dominar esta función, creamos ejemplos prácticos con fragmentos e imágenes de código que muestran su uso con diferentes tipos de variables de entrada.

Sintaxis de la función CEIL () en el lenguaje C:

techo doble (doble x)

Ceil () Descripción de la función en el idioma C

Esta función redondea al siguiente valor entero más grande de la variable numérica que se especifica en sus argumentos de entrada.

El fortificar techo() la función es una de un conjunto de funciones proporcionadas por el "matemáticas" biblioteca. Para usar esta función, debemos incluirla en nuestro ".C" Archivo de la siguiente manera:

#incluir

Una vez que se incluyen las bibliotecas "matemáticas", podemos usar CEIL () para redondear o piso () para redondear, así como todas las funciones en las bibliotecas de matemáticas.

Para obtener el redondeo de "x", debe llamar a esta función, especificando el nombre de la variable en su argumento de entrada. Ceil () devuelve el resultado en "A".

Ejemplo 1: Cómo redondear un entero fraccional con la función CEIL () en Linux GCC

En este ejemplo, veremos cómo redondear un valor fraccional al siguiente entero más grande utilizando la función de techo en GCC.

El siguiente fragmento de código muestra cómo usar el fortificar techo() función para obtener el redondeo de doble "x" que tiene un valor asignado de 3.1416. Luego, la función printf () se usa para generar el resultado como "A" en la consola de comando:

#incluir
#incluir
vacío principal ()

doble x = 3.1416;
doble a;
a = techo (x);
printf ("El redondeo de x es: %f \ n", a);
devolver;

En la siguiente imagen, vemos el resultado en la consola de comando. En este caso, el redondeo de 3.1416 es 4.00000.

Problemas comunes con las funciones de redondeo ceil () y piso () y cómo resolverlos

Cuando usamos las funciones y compilamos nuestro código, a menudo sucede que la compilación ofrece el siguiente error:

"principal.C: (.texto+0x30): referencia indefinida a 'techo' "

Esto nos hace buscar los errores de sintaxis o las variables indefinidas en nuestro ".C "o".H "código, ya que todo indica que nuestro problema está allí. Pero esto conduce a una pérdida de tiempo valioso ya que nuestro problema radica en la vinculación de las bibliotecas y la compatibilidad de datos de estas funciones.

Para los programadores a los que les gusta saber el motivo de un problema y no solo resolverlo, explicaremos este error paso a paso para que la programación funcione más fluida y evite cargar bibliotecas innecesarias para nuestro código.

Para explicar esto, compilamos el código del ejemplo anterior de la siguiente manera. En la siguiente figura, vemos la compilación de nuestro código y el error al que se menciona en esta sección:

Esto se debe a que desde C99, GCC divide sus bibliotecas en dos partes: libc y libm. Aunque la biblioteca a la que nos referimos en nuestro código se encuentra en ambos, los tipos de datos que estas funciones aceptan en cada una de sus versiones son diferentes, y esa es la fuente del problema.

Si la función ceil () se llama con un int como entrada, el error desaparece, aunque se produce el redondeo hacia abajo.

Estos problemas se solucionan en el momento de la compilación invocando el libm biblioteca en la línea de comando que usamos para compilar. El siguiente es el camino:

Documentos GCC/Principal.c -lm -o c

Conclusión

En este artículo de Linux Sugerencia, le mostramos cómo usar la función YES para redondear los valores fraccionales al entero más cercano. Explicamos paso a paso sobre cómo cargar la biblioteca de "matemáticas" para usar esta función. También le mostramos cómo usar las funciones de redondeo de esta biblioteca con un ejemplo práctico. También le mostramos uno de los errores más comunes al usar esta función y cómo solucionarla para obtener una tarea de programación suave. Esperamos que haya encontrado este artículo de lenguaje C útil. Lea los otros artículos de Sugerencia de Linux para obtener más consejos e información.