Целые числа (Integer)
Целые числа — это числа, которые могут быть записаны без дробной части. Например, 21, 4, 0 и −2048 являются целыми числами, а 9.75, $\frac{1}{2}$ и $\sqrt{2}$ не являются.
Содержание
Множество целых чисел
Множество всех целых чисел обычно обозначается символом Z (или $$\mathbb{Z}$$) и включает в себя:
- Положительные целые числа (натуральные числа): 1, 2, 3, ...
- Отрицательные целые числа: -1, -2, -3, ...
- Ноль: 0
Формально, $$\mathbb{Z} = \{..., -3, -2, -1, 0, 1, 2, 3, ...\}$$
Свойства целых чисел
- Замкнутость относительно операций:
- Сложение: Если `a` и `b` — целые числа, то `a + b` также является целым числом.
- Вычитание: Если `a` и `b` — целые числа, то `a - b` также является целым числом.
- Умножение: Если `a` и `b` — целые числа, то `a * b` также является целым числом.
- Деление: Деление целых чисел не всегда приводит к целому числу (например, `5 / 2 = 2.5`).
- Коммутативность:
- Сложение: `a + b = b + a` для любых целых чисел `a` и `b`.
- Умножение: `a * b = b * a` для любых целых чисел `a` и `b`.
- Ассоциативность:
- Сложение: `(a + b) + c = a + (b + c)` для любых целых чисел `a`, `b` и `c`.
- Умножение: `(a * b) * c = a * (b * c)` для любых целых чисел `a`, `b` и `c`.
- Дистрибутивность:
- Умножение дистрибутивно относительно сложения: `a * (b + c) = a * b + a * c` для любых целых чисел `a`, `b` и `c`.
- Существование нейтрального элемента:
- Сложение: Ноль является нейтральным элементом для сложения: `a + 0 = a` для любого целого числа `a`.
- Умножение: Единица является нейтральным элементом для умножения: `a * 1 = a` для любого целого числа `a`.
- Существование противоположного элемента:
- Для каждого целого числа `a` существует противоположное число `-a`, такое что `a + (-a) = 0`.
Представление целых чисел в компьютерах
В компьютерах целые числа обычно представляются с использованием двоичной системы счисления. Существует несколько способов представления целых чисел:
- Беззнаковые целые числа: Представляют только положительные числа и ноль.
- Знаковые целые числа: Представляют как положительные, так и отрицательные числа. Существует несколько способов представления знаковых чисел:
- Прямой код: Старший бит используется для представления знака (0 — положительное число, 1 — отрицательное число).
- Обратный код: Для представления отрицательного числа все биты числа инвертируются (0 заменяется на 1 и наоборот).
- Дополнительный код: Для представления отрицательного числа используется обратный код + 1. Дополнительный код является наиболее распространенным способом представления знаковых целых чисел в современных компьютерах, так как он упрощает выполнение арифметических операций.
Диапазон целых чисел
Диапазон целых чисел, которые могут быть представлены в компьютере, зависит от количества битов, используемых для их представления. Наиболее распространенные размеры целых чисел:
- 8 бит (byte): Диапазон от -128 до 127 (знаковое) или от 0 до 255 (беззнаковое).
- 16 бит (short): Диапазон от -32,768 до 32,767 (знаковое) или от 0 до 65,535 (беззнаковое).
- 32 бита (int): Диапазон от -2,147,483,648 до 2,147,483,647 (знаковое) или от 0 до 4,294,967,295 (беззнаковое).
- 64 бита (long): Диапазон от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 (знаковое) или от 0 до 18,446,744,073,709,551,615 (беззнаковое).
Операции с целыми числами в программировании
В большинстве языков программирования доступны следующие операции с целыми числами:
- Арифметические операции:
- Сложение (`+`)
- Вычитание (`-`)
- Умножение (`*`)
- Деление (`/`)
- Остаток от деления (`%`)
- Операции сравнения:
- Равно (`==`)
- Не равно (`!=`)
- Больше (`>`)
- Меньше (`<`)
- Больше или равно (`>=`)
- Меньше или равно (`<=`)
- Битовые операции:
- Побитовое И (`&`)
- Побитовое ИЛИ (`|`)
- Побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ (`^`)
- Побитовое НЕ (`~`)
- Сдвиг влево (`<<`)
- Сдвиг вправо (`>>`)
Переполнение
Переполнение происходит, когда результат арифметической операции выходит за пределы диапазона, представимого данным типом данных. В этом случае результат может быть непредсказуемым и привести к ошибкам в программе.
Пример переполнения:
``` int maxInt = 2147483647; int result = maxInt + 1; // result будет равен -2147483648 (минимальное значение int) ```
Применение
Целые числа используются в широком спектре приложений, включая:
- Индексация массивов.
- Счетчики циклов.
- Представление дискретных данных.
- Арифметика и вычисления.
- Криптография.
Понимание целых чисел и их свойств является важным для разработки эффективного и надежного программного обеспечения.