# Floor function

In mathematics, the floor function is the function defined as follows: for a real number x, floor(x) is the largest integer less than or equal to x. For example, floor(2.9) = 2, floor(−2) = −2 and floor(−2.3) = −3. The floor function is also denoted by [x] or [itex]\lfloor x \rfloor[itex]. A more traditional name for it is the integral part of x. The function x−[x], also written as x mod 1, is called the fractional part of x. Every fraction x ≥ 0 can be written as a mixed number, the sum of an integer and a proper fraction. The floor function and fractional part functions extend this decomposition to all real values.

 Contents

## Some properties of the floor function

We always have

[itex] \lfloor x\rfloor \le x < \lfloor x \rfloor + 1[itex]

with equality on the left if and only if x is an integer. For any integer k and any real number x, we have

[itex] \lfloor k+x \rfloor = k + \lfloor x\rfloor[itex]

The ordinary rounding of the number x to the nearest integer can be expressed as floor(x + 0.5).

The floor function is not continuous, but it is upper semi-continuous.

If x is a real number and n is an integer, we have nx if and only if n ≤ floor(x). In fancy language: the floor function is part of a Galois connection; it is the upper adjoint of the function which embeds the integers into the reals.

Using the floor function, one can produce several explicit (yet impractical) formulas for prime numbers. See the article on prime numbers for a number of examples.

## The ceiling function

A closely related mathematical function is the ceiling function, which is defined as follows: for any given real number x, ceiling(x) is the smallest integer no less than x. For example, ceiling(2.3) = 3, ceiling(2) = 2 and ceiling(−2.3) = −2. The ceiling function is also denoted by [itex]\lceil x \rceil[itex]. It is easy to show the following:

[itex]\lceil x \rceil = - \lfloor - x \rfloor[itex]

and the following:

[itex]x \leq \lceil x \rceil < x + 1[itex]

For any integer k, we also have the following equality:

[itex]\lfloor k / 2 \rfloor + \lceil k / 2 \rceil = k[itex].

If m and n are coprime positive integers, then

[itex]\sum_{i=1}^{n-1} \lfloor im / n \rfloor = (m - 1) (n - 1) / 2[itex]

Beatty's theorem shows how every positive irrational number gives rise to a partition of the natural numbers into two sequences via the floor function.

The floor and ceiling functions are related by

[itex]x=\left\lfloor \frac{x}{2} \right\rfloor + \left\lceil \frac{x}{2} \right\rceil[itex]

## The operator (int) in C

C and related programming languages have a feature called type casting which allows to turn a floating point value into an integer by prefixing it with (int). This operation is a mixture of the floor and ceiling function: for positive or 0 x it returns floor(x), and for negative x it returns ceiling(x).

Like the floor and ceiling function, this operation is not continuous, which can magnify rounding errors with disastrous consequences. For instance, (int)(0.6/0.2) will return 2 in most implementations of C, even though 0.6/0.2 = 3. The reason is that computers work internally with the binary numeral system, and it is not possible to represent the numbers 0.6 and 0.2 by a finite binary string. So some rounding errors occur, and the result is computed as 2.999999999999999555910790149937 which the (int) operator will happily convert to 2. The POSIX floor() function has similar problems. Because of issues like these, most modern calculators use the decimal numeral system internally.

## The fractional part

If x is an irrational number, then the fractional parts nx mod 1, where n runs through the positive integers, are extremely evenly distributed in the open interval (0,1). This can be made precise in various ways, one of which states

[itex]\int_0^1 f(t)\; dt = \lim_{N\to\infty} \frac{1}{N}\sum_{n=1}^N f(nx \;\operatorname{mod}\; 1)[itex]

for every continuous function f : [0,1] -> R (see limit (mathematics) and integration.)

According to a general principle of diophantine approximation discovered by Hermann Weyl, that property is equivalent to something much easier to check in this case: namely that sums

[itex]\sum e^{2 \pi i k n x}[itex]

for fixed integers k > 0 and taken over ranges

0 < n < N

have estimates o(N). Because these are geometric progressions, that can be proved rather directly. The condition that x be irrational comes out to be that

[itex]\sin \pi k x \ne 0[itex].bg:Функция скобка

• Art and Cultures
• Countries of the World (http://www.academickids.com/encyclopedia/index.php/Countries)
• Space and Astronomy