# Funciones de parte entera

En matemáticas, las funciones de parte entera son funciones que toman un número real y devuelven un número entero próximo, sea por exceso o por defecto. Formalmente son funciones de la forma:
    ${\begin{array}{rccl}{\text{E}}:&\mathbb {R} &\to &\mathbb {Z} \\&x&\to &y={\text{E}}(x)\end{array}}$
Según la forma de considerar el número entero más próximo a un número real dado, se pueden considerar varias funciones:
* Función techo, que a cada número real asigna el número entero más próximo por exceso, es decir, el menor número entero igual o mayor que ese número real. Algunos lenguajes de programación tienen una implementación nativa llamada generalmente ceil o Ceil (por ceiling, «techo» en inglés).
* Función piso (o suelo), que a cada número real asigna el mayor número entero igual o menor que ese número real (por ejemplo, si tenemos el caso [-2.4], este se acercaría al valor -3; o aplicándolo a un caso positivo sería [1.5], este se acercaría al valor 1). Algunos lenguajes de programación tienen una implementación nativa llamada generalmente floor o Floor («suelo» en inglés).
* Truncamiento, que a cada número real se le asigna el número entero resultado de ignorar su parte decimal.
* Redondeo, que a cada número real asigna el número entero más próximo según su parte decimal.
Un concepto relacionado con estas funciones es la parte fraccionaria, cuya representación es la de una onda de sierra.

## Función techo

La función techo se aplica a un número real x y devuelve el mínimo número entero y no inferior a x:
    ${\begin{array}{rccl}{\text{techo}}:&\mathbb {R} &\to &\mathbb {Z} \\&x&\to &y={\text{techo}}(x)\end{array}}$
Definida:
    ${\text{techo}}(x)=\lceil x\rceil =\min\{k\in \mathbb {Z} \mid x\leq k\}$
O de otra forma:
    $y=\lceil x\rceil :\quad y={\big \y:\quad y\in \mathbb {Z} \quad \land \quad x\in \mathbb {R} \quad \land \quad y-1<x\leq y{\big \}}$
Se conoce también como función mínimo entero o como función entero menor (que es mayor o igual que x). Precaución: Algunas publicaciones le llaman "función entero mayor" debido a que devuelve el entero mayor o igual que x.

### Propiedades

* Para cualquier número real se cumple que $\lceil x\rceil \geq x$.
* El número real x al que se aplica la función techo es un número entero si y solo si la función techo de x tiene el mismo valor que x.
   $x\in \mathbb {Z} \Leftrightarrow \lceil x\rceil =x$
* La función techo tiene puntos de discontinuidad en los números enteros pero es diferenciable para el resto de puntos.
* La función techo puede expresarse como integral mediante la delta de Dirac y la función característica del conjunto de los enteros:
   $\int _{\epsilon }^{x+\epsilon }\delta (1-\chi _{\mathbb {Z} }(y))dy=\lceil x\rceil ,\qquad 0<\epsilon <1$
Estas funciones no son algebraicas ni trascendentes, por lo que son funciones no elementales

### Ejemplos

Para un número real no entero:
    $\lceil 2.3\rceil =\min\{k\in \mathbb {Z} \mid 2,3\leq k\}=3$
    $\lceil -2.3\rceil =\min\{k\in \mathbb {Z} \mid -2,3\leq k\}=-2$
Para un número entero:
    $\lceil 2\rceil =\min\{k\in \mathbb {Z} \mid 2\leq k\}=2$
    $\lceil -2\rceil =\min\{k\in \mathbb {Z} \mid -2\leq k\}=-2$

## Función piso/suelo

La función suelo se aplica a un número real x y devuelve el máximo número entero y no superior a x cuyo conjunto de partida (dominio) y conjunto de llegada (rango) son:
    ${\begin{array}{rccl}{\text{suelo}}:&\mathbb {R} &\to &\mathbb {Z} \\&x&\to &y={\text{suelo}}(x)\end{array}}$
y se define como:
    ${\text{suelo}}(x)=\lfloor x\rfloor =\max\{k\in \mathbb {Z} \mid k\leq x\}$
También se puede expresar como:
    $y={\text{suelo}}(x):\quad y=\lfloor x\rfloor :\quad y={\big \y:\quad y\in \mathbb {Z} \quad \land \quad x\in \mathbb {R} \quad \land \quad y\leq x<y+1{\big \}}$
Se conoce también como función máximo entero o como función entero mayor (que es menor o igual que x). Precaución: Algunas publicaciones le llaman "función entero menor" debido a que devuelve el entero menor o igual que x.

### Propiedades

El número real x al que se aplica la función suelo es un número entero si y solo si la función piso de x tiene el mismo valor que x.
    $x\in \mathbb {Z} \Leftrightarrow \lfloor x\rfloor =x$
Podemos deducir que si m y n son números enteros estrictamente positivos coprimos entonces (fórmula de Sylvester):
    $\sum _{k=1}^{n-1}\left\lfloor {\frac {km}{n}}\right\rfloor ={\frac {(m-1)(n-1)}{2}}$.
La fórmula anterior puede ser generalizada para todo m y n enteros estrictamente positivos:
    $\sum _{k=1}^{n-1}\left\lfloor {\frac {km}{n}}\right\rfloor ={\frac {(m-1)(n-1)+\operatorname {mcd} (m,n)-1}{2}}$.

### Ejemplos

Para un número real no entero:
    $\lfloor 2.3\rfloor =\max\{k\in \mathbb {Z} \mid k\leq 2,3\}=2$
    $\lfloor -2.3\rfloor =\max\{k\in \mathbb {Z} \mid k\leq -2,-3\}=-3$
Para un número entero:
    $\lfloor 2\rfloor =\max\{k\in \mathbb {Z} \mid k\leq 2\}=2$
    $\lfloor -2\rfloor =\max\{k\in \mathbb {Z} \mid k\leq -2\}=-2$

## Función truncamiento/parte entera

La función parte entera en el lenguaje de programación C es el resultado de truncar el valor real, eliminando su parte decimal. Se puede definir a partir de las funciones piso y techo, de la siguiente manera:
    ${\begin{array}{rccl}{\text{int}}:&\mathbb {R} &\to &\mathbb {Z} \\&x&\to &y={\text{int}}(x)\end{array}}$
definida de esta forma:
    $\operatorname {int} (x)=[x]=\left\{{\begin{array}{ccl}\lceil ~x\rceil &{\text{si}}&x<0\\\lfloor ~x\rfloor &{\text{si}}&x\geq 0\end{array}}\right.$
Se utiliza mediante el operador (int) para truncar el valor de variables del tipo float o double.

## Función redondeo

La función redondeo asigna a cada x número real un y número entero siendo y el valor más próximo a x.
    ${\begin{array}{rccl}{\text{redon}}:&\mathbb {R} &\to &\mathbb {Z} \\&x&\to &y={\text{redon}}(x)\end{array}}$
si la primera cifra decimal es 5 o mayor el redondeo se hace por exceso, si la primera cifra decimal es inferior a 5 el redondeo se hace por defecto.
Se puede comprobar la siguiente igualdad:
    ${\text{redon}}(x)=\left\{{\begin{array}{ccl}\lceil x-0.5\rceil &{\text{si}}&x<0\\\lfloor x+0.5\rfloor &{\text{si}}&x\geq 0\end{array}}\right.$

## Series de expansión

La función piso no es continua, y por lo tanto no tiene un expansión en serie de Taylor; como no es periódica, tampoco tiene una expansión en serie de Fourier. Sin embargo, la función $\{x\}:=x-\lfloor x\rfloor$, llamada función de parte decimal, fraccionaria o función mantisa, es periódica, y por lo tanto tiene una expansión en serie de Fourier, que es:
    $\{x\}={\frac {1}{2}}-{\frac {1}{\pi }}\sum _{k=1}^{\infty }{\frac {\sin(2\pi kx)}{k}}.$ si x no es un número entero.
Usando la expresión $\{x\}:=x-\lfloor x\rfloor$ podemos saber la expansión de la función $\lfloor x\rfloor$:
    $\lfloor x\rfloor =x-{\frac {1}{2}}+{\frac {1}{\pi }}\sum _{k=1}^{\infty }{\frac {\sin(2\pi kx)}{k}}.$
Teniendo en cuenta que: $\lceil x\rceil =-\lfloor -x\rfloor$, entonces la expansión de serie de la función techo sería:
    $\lceil x\rceil =x+{\frac {1}{2}}+{\frac {1}{\pi }}\sum _{k=1}^{\infty }{\frac {\sin(2\pi kx)}{k}}.$
Y por último, para la función truncamiento, se utiliza la siguiente expresión ${\mbox{int}}(x)={\big \lfloor }|x|{\big \rfloor }{\text{sgn}}(x)$; entonces quedaría:
    ${\mbox{int}}(x)=x-{\frac {\sin(x)}{2}}+{\frac {1}{\pi }}\sum _{k=1}^{\infty }{\frac {\sin(2\pi kx)}{k}}.$