Целая часть
В математике, целая часть вещественного числа [math]\displaystyle{ x }[/math] — округление [math]\displaystyle{ x }[/math] до ближайшего целого в меньшую сторону. Целая часть числа также называется антье (фр. entier), или пол (англ. floor). Наряду с полом существует парная функция — потолок (англ. ceiling) — округление [math]\displaystyle{ x }[/math] до ближайшего целого в большую сторону.
Обозначения и примеры
Впервые квадратные скобки ([math]\displaystyle{ [x] }[/math]) для обозначения целой части числа [math]\displaystyle{ x }[/math] использовал Гаусс в 1808 году в своём доказательстве закона квадратичной взаимности[1]. Это обозначение считалось стандартным[2], пока Кеннет Айверсон в своей книге «A Programming Language», опубликованной в 1962 году, не предложил[3][4][5] округление числа [math]\displaystyle{ x }[/math] до ближайшего целого в меньшую и большую стороны называть «пол» и «потолок» [math]\displaystyle{ x }[/math] и обозначать [math]\displaystyle{ \lfloor x \rfloor }[/math] и [math]\displaystyle{ \lceil x \rceil }[/math] соответственно.
В современной математике используются оба обозначения[6], [math]\displaystyle{ [x] }[/math] и [math]\displaystyle{ \lfloor x \rfloor }[/math], однако всё более и более преимущественно применяют терминологию и обозначения Айверсона: одна из причин состоит в том, что для отрицательных чисел понятие «целая часть числа» уже является неоднозначным[5]. Например, целая часть числа 2,7 равна 2, но на то, как определить целую часть числа −2,7, уже возможны две точки зрения: по определению, данному в этой статье, [math]\displaystyle{ [x] \equiv \lfloor x \rfloor = -3 }[/math], однако в некоторых калькуляторах функция целой части INT для отрицательных чисел определяется как INT(–x) = –INT(x), так что INT(–2,7) = −2. Терминология Айверсона лишена этих недостатков:
- [math]\displaystyle{ \begin{matrix} \lfloor 2{,}7 \rfloor = 2, & \lfloor -2{,}7 \rfloor = -3, \\ \lceil 2{,}7 \rceil = 3, & \lceil -2{,}7 \rceil = -2. \end{matrix} }[/math]
Определения
Функция «пол» [math]\displaystyle{ \lfloor \cdot \rfloor\colon x \mapsto \lfloor x \rfloor }[/math] определяется как наибольшее целое, меньшее или равное [math]\displaystyle{ x }[/math]:
- [math]\displaystyle{ \lfloor x \rfloor = \max\{ n \in \mathbb{Z} \mid n \leqslant x\}. }[/math]
Функция «потолок» [math]\displaystyle{ \lceil \, \cdot \, \rceil\colon x \mapsto \lceil x \rceil }[/math] — это наименьшее целое, большее или равное [math]\displaystyle{ x }[/math]:
- [math]\displaystyle{ \lceil x \rceil = \min\{ n \in \mathbb{Z} \mid n \geqslant x\}. }[/math]
Эти определения эквивалентны следующим неравенствам (где n — целое число):[7]
- [math]\displaystyle{ \begin{matrix} \lfloor x \rfloor = n & \Longleftrightarrow & n \leqslant x \lt n+1 & \Longleftrightarrow & x-1 \lt n \leqslant x, \\ \lceil x \rceil = n & \Longleftrightarrow & n-1 \lt x \leqslant n & \Longleftrightarrow & x \leqslant n \lt x+1. \end{matrix} }[/math]
Свойства
В формулах, записанных ниже, буквами [math]\displaystyle{ x }[/math] и [math]\displaystyle{ y }[/math] обозначены вещественные числа, а буквами [math]\displaystyle{ n }[/math] и [math]\displaystyle{ m }[/math] — целые.
Пол и потолок как функции вещественной переменной
Функции пол и потолок отображают множество вещественных чисел в множество целых чисел:
- [math]\displaystyle{ \lfloor \, \cdot \, \rfloor\colon \mathbb{R} \to \mathbb{Z}, \quad \lceil \, \cdot \, \rceil\colon \mathbb{R} \to \mathbb{Z}, \quad }[/math]
Пол и потолок — кусочно-постоянные функции.
Функции пол и потолок разрывны: во всех целочисленных точках терпят разрывы первого рода со скачком, равным единице.
При этом функция пол является:
Функция потолок является:
Связь функций пол и потолок
Для произвольного числа [math]\displaystyle{ x }[/math] верно неравенство[8]
- [math]\displaystyle{ \lfloor x \rfloor \leqslant x \leqslant \lceil x \rceil }[/math]
Для целого [math]\displaystyle{ x }[/math] пол и потолок совпадают:
- [math]\displaystyle{ \lfloor x \rfloor = x \quad \Longleftrightarrow \quad x \in \mathbb{Z} \quad \Longleftrightarrow \quad \lceil x \rceil = x }[/math]
Если [math]\displaystyle{ x }[/math] — не целое, то значение функции потолок на единицу больше значения функции пол:
- [math]\displaystyle{ \lceil x \rceil - \lfloor x \rfloor = \begin{cases} 1, & x \notin \mathbb{Z} \\ 0, & x \in \mathbb{Z} \end{cases} }[/math]
Функции пол и потолок являются отражениями друг друга от обеих осей:
- [math]\displaystyle{ \lfloor -x \rfloor = -\lceil x \rceil, \quad \lceil -x \rceil = -\lfloor x \rfloor }[/math]
Пол/потолок: неравенства
Любое неравенство между вещественным и целым числами равносильно неравенству с полом и потолком между целыми числами [7]:
- [math]\displaystyle{ \begin{matrix} n \leqslant x & \Longleftrightarrow & n \leqslant \lfloor x \rfloor & \qquad x \leqslant n & \Longleftrightarrow & \lceil x \rceil \leqslant n \\ n \lt x & \Longleftrightarrow & n \lt \lceil x \rceil & \qquad x \lt n & \Longleftrightarrow & \lfloor x \rfloor \lt n \end{matrix} }[/math]
Два верхних неравенства являются непосредственными следствиями определений пола и потолка, а два нижние — обращение верхних от противного.
Функции пол/потолок являются монотонно возрастающими функциями:
- [math]\displaystyle{ x \leqslant y \Rightarrow \lfloor x \rfloor \leqslant \lfloor y \rfloor , \quad x \leqslant y \Rightarrow \lceil x \rceil \leqslant \lceil y \rceil }[/math]
Пол/потолок: сложение
Целочисленное слагаемое можно вносить/выносить за скобки пола/потолка [9]:
- [math]\displaystyle{ \lfloor x + n \rfloor = \lfloor x \rfloor + n , \quad \lceil x + n \rceil = \lceil x \rceil + n }[/math]
Предыдущие равенства, вообще говоря, не выполняются, если оба слагаемых — вещественные числа. Однако и в этом случае справедливы неравенства:
- [math]\displaystyle{ \lfloor x \rfloor + \lfloor y \rfloor \leqslant \lfloor x + y \rfloor \leqslant \lfloor x \rfloor + \lfloor y \rfloor + 1 , \quad \lceil x \rceil + \lceil y \rceil - 1 \leqslant \lceil x + y \rceil \leqslant \lceil x \rceil + \lceil y \rceil }[/math]
Пол/потолок под знаком функции
Имеет место следующее предложение:[10]
Пусть [math]\displaystyle{ f(x) }[/math] — непрерывная монотонно возрастающая функция, определенная на некотором промежутке, обладающая свойством:
- [math]\displaystyle{ f(x) \in \mathbb{Z} \Rightarrow x \in \mathbb{Z} }[/math]
Тогда
- [math]\displaystyle{ \lfloor f(x) \rfloor = \lfloor f(\lfloor x \rfloor) \rfloor, \quad \lceil f(x) \rceil = \lceil f(\lceil x \rceil) \rceil }[/math]
всякий раз, когда определены [math]\displaystyle{ f(x), f(\lfloor x \rfloor), f(\lceil x \rceil) }[/math].
В частности,
- [math]\displaystyle{ \left \lfloor \frac{x+m}{n} \right \rfloor = \left \lfloor \frac{\left \lfloor x \right \rfloor + m}{n} \right \rfloor ,\quad \left \lceil \frac{x+m}{n} \right \rceil = \left \lceil \frac{\left \lceil x \right \rceil + m}{n} \right \rceil }[/math]
если [math]\displaystyle{ m }[/math] и [math]\displaystyle{ n }[/math] — целые числа, и [math]\displaystyle{ n\gt 0 }[/math].
Пол/потолок: суммы
Если [math]\displaystyle{ m,n }[/math] — целые числа, [math]\displaystyle{ m\gt 0 }[/math], то [11]
- [math]\displaystyle{ n=\left\lfloor\frac{n}{m}\right\rfloor + \left\lfloor\frac{n+1}{m}\right\rfloor +\dots+\left\lfloor\frac{n+m-1}{m}\right\rfloor }[/math]
Вообще, если [math]\displaystyle{ x }[/math] — произвольное вещественное число, а [math]\displaystyle{ m }[/math] — целое положительное, то
- [math]\displaystyle{ \lfloor mx \rfloor=\left\lfloor x\right\rfloor + \left\lfloor x+\frac{1}{m}\right\rfloor +\dots+\left\lfloor x+\frac{m-1}{m}\right\rfloor }[/math]
Имеет место более общее соотношение [12]:
- [math]\displaystyle{ \sum_{0 \leqslant k \lt m} \left \lfloor \frac{nk+x}{m} \right \rfloor = d \left \lfloor \frac{x}{d} \right \rfloor + \frac{(m-1)(n-1)}{2} + \frac{d-1}{2}, \quad d=(m,n) }[/math]
Так как правая часть этого равенства симметрична относительно [math]\displaystyle{ m }[/math] и [math]\displaystyle{ n }[/math], то справедлив следующий закон взаимности:
- [math]\displaystyle{ \sum_{0 \leqslant k \lt m} \left \lfloor \frac{nk+x}{m} \right \rfloor = \sum_{0 \leqslant k \lt n} \left \lfloor \frac{mk+x}{n} \right \rfloor , \quad m, n\gt 0 }[/math]
Разложимость в ряд
Тривиальным образом функция антье раскладывается в ряд с помощью функции Хевисайда:
- [math]\displaystyle{ [x]=\sum_{n=-\infty}^{+\infty}n\left(\theta(x-n)-\theta(x-n-1)\right), }[/math]
где каждое слагаемое ряда создаёт характерные «ступеньки» функции. Этот ряд сходится абсолютно, однако ошибочное преобразование его слагаемых может привести к «упрощённому» ряду
- [math]\displaystyle{ \sum_{n=-\infty}^{+\infty}\theta\left(x-n\right), }[/math]
который расходится.
Применение
Целочисленные функции пол/потолок находят широкое применение в дискретной математике и теории чисел. Ниже приведены некоторые примеры использования этих функций.
Количество цифр в записи числа
Количество цифр в записи целого положительного числа в позиционной системе счисления с основанием b равно [13]
- [math]\displaystyle{ \lfloor \log_{b} n \rfloor + 1 }[/math]
Округление
Ближайшее к [math]\displaystyle{ x }[/math] целое число может быть определено по формуле
- [math]\displaystyle{ (x) = \lfloor x + 0{,}5\rfloor }[/math]
Бинарная операция mod
Операция «остаток по модулю», обозначаемая [math]\displaystyle{ x \bmod y }[/math], может быть определена с помощью функции пола следующим образом. Если [math]\displaystyle{ x,y }[/math] — произвольные вещественные числа, и [math]\displaystyle{ y \neq 0 }[/math], то неполное частное от деления [math]\displaystyle{ x }[/math] на [math]\displaystyle{ y }[/math] равно
- [math]\displaystyle{ \lfloor x/y \rfloor }[/math],
а остаток
- [math]\displaystyle{ x \, \bmod \, y = x - y \lfloor x/y \rfloor }[/math]
Дробная часть
Дробная часть вещественного числа [math]\displaystyle{ x }[/math] по определению равна
- [math]\displaystyle{ \{x\} = x \, \bmod \, 1 = x - \lfloor x \rfloor }[/math]
Количество целых точек промежутка
Требуется найти количество целых точек в замкнутом промежутке с концами [math]\displaystyle{ \alpha }[/math] и [math]\displaystyle{ \beta }[/math], то есть количество целых чисел [math]\displaystyle{ n }[/math], удовлетворяющий неравенству
- [math]\displaystyle{ \alpha \leqslant n \leqslant \beta }[/math]
В силу свойств пол/потолка, это неравенство равносильно
- [math]\displaystyle{ \lceil \alpha \rceil \leqslant n \leqslant \lfloor \beta \rfloor }[/math].
Это есть число точек в замкнутом промежутке с концами [math]\displaystyle{ \lceil \alpha \rceil }[/math] и [math]\displaystyle{ \lfloor \beta \rfloor }[/math], равное [math]\displaystyle{ \lfloor \beta \rfloor - \lceil \alpha \rceil + 1 }[/math].
Аналогично можно подсчитать количество целых точек в других типах промежутков. Сводка результатов приведена ниже [14].
- [math]\displaystyle{ \#\{ n \in \mathbb{Z} \colon \alpha \leqslant n \leqslant \beta \} = \lfloor \beta \rfloor - \lceil \alpha \rceil + 1 }[/math]
- [math]\displaystyle{ \#\{ n \in \mathbb{Z} \colon \alpha \leqslant n \lt \beta \} = \lceil \beta \rceil - \lceil \alpha \rceil }[/math]
- [math]\displaystyle{ \#\{ n \in \mathbb{Z} \colon \alpha \lt n \leqslant \beta \} = \lfloor \beta \rfloor - \lfloor \alpha \rfloor }[/math]
- [math]\displaystyle{ \#\{ n \in \mathbb{Z} \colon \alpha \lt n \lt \beta \} = \lceil \beta \rceil - \lfloor \alpha \rfloor - 1 }[/math]
(Через [math]\displaystyle{ \# M }[/math] обозначена мощность множества [math]\displaystyle{ M }[/math]).
Первые три результата справедливы при всех [math]\displaystyle{ \alpha \leqslant \beta }[/math], а четвёртый — только при [math]\displaystyle{ \alpha \lt \beta }[/math].
Теорема Рэлея о спектре
Пусть [math]\displaystyle{ \alpha }[/math] и [math]\displaystyle{ \beta }[/math] — положительные иррациональные числа, связанные соотношением [15]
- [math]\displaystyle{ \frac {1} {\alpha} + \frac{1} {\beta} = 1. }[/math]
Тогда в ряду чисел
- [math]\displaystyle{ \lfloor \alpha\rfloor, \lfloor \beta \rfloor, \lfloor 2\alpha\rfloor, \lfloor 2\beta \rfloor, \ldots, \lfloor m\alpha\rfloor, \lfloor m\beta \rfloor, \ldots }[/math]
каждое натуральное [math]\displaystyle{ n \in \mathbb{N} }[/math] встречается в точности один раз. Иными словами, последовательности
- [math]\displaystyle{ \{m\alpha \mid m \in \mathbb{N}\} }[/math] и [math]\displaystyle{ \{m\beta \mid m \in \mathbb{N}\} }[/math],
называемые последовательностями Битти, образуют разбиение натурального ряда.[16]
В информатике
В языках программирования
Во многих языках программирования существуют встроенные функции пола/потолка floor(), ceil().
В системах вёрстки
В TeX (и LaTeX) для символов пола/потолка [math]\displaystyle{ \lfloor }[/math], [math]\displaystyle{ \rfloor }[/math], [math]\displaystyle{ \lceil }[/math], [math]\displaystyle{ \rceil }[/math] существуют специальные команды: \lfloor, \rfloor, \lceil, \rceil. Поскольку wiki использует LaTeX для набора математических формул, то и в данной статье использованы именно эти команды.
Примечания
- ↑ Lemmermeyer, pp. 10, 23.
- ↑ Обозначение Гаусса использовали Cassels, Hardy & Wright и Ribenboim. Graham, Knuth & Patashnik и Crandall & Pomerance использовали обозначение Айверсона.
- ↑ Iverson, p. 12.
- ↑ Higham, p. 25.
- ↑ Перейти обратно: 5,0 5,1 Р. Грэхем, Д. Кнут, О. Паташник. Конкретная математика. — С. 88.
- ↑ Weisstein, Eric W. Floor Function (англ.) на сайте Wolfram MathWorld.
- ↑ Перейти обратно: 7,0 7,1 Р. Грэхем, Д. Кнут, О. Паташник. Конкретная математика. — С. 90.
- ↑ Р. Грэхем, Д. Кнут, О. Паташник. Конкретная математика. — С. 89.
- ↑ Р. Грэхем, Д. Кнут, О. Паташник. Конкретная математика. — С. 90-91.
- ↑ Р. Грэхем, Д. Кнут, О. Паташник. Конкретная математика. — С. 93.
- ↑ Р. Грэхем, Д. Кнут, О. Паташник. Конкретная математика. — С. 108.
- ↑ Р. Грэхем, Д. Кнут, О. Паташник. Конкретная математика. — С. 112-117.
- ↑ Р. Грэхем, Д. Кнут, О. Паташник. Конкретная математика. — С. 91.
- ↑ Р. Грэхем, Д. Кнут, О. Паташник. Конкретная математика. — С. 95-96.
- ↑ Р. Грэхем, Д. Кнут, О. Паташник. Конкретная математика. — С. 99-100.
- ↑ А. Баабабов. «Пентиум» хорошо, а ум лучше // Квант. — 1999. — № 4. — С. 36-38.
См. также
Литература
- Р. Грэхем, Д. Кнут, О. Паташник. Конкретная математика. — М.: «Мир», 1998. — 703 с. — ISBN 5-03-001793-3.
- М. К. Потапов, В. В. Александров, П. И. Пасиченко. Алгебра и начала анализа. — АО Столетие, 1996.