Целые числа (Integer)

Материал из m6a
Перейти к: навигация, поиск

Целые числа — это числа, которые могут быть записаны без дробной части. Например, 21, 4, 0 и −2048 являются целыми числами, а 9.75, $\frac{1}{2}$ и $\sqrt{2}$ не являются.

Множество целых чисел

Множество всех целых чисел обычно обозначается символом Z (или $$\mathbb{Z}$$) и включает в себя:

  1. Положительные целые числа (натуральные числа): 1, 2, 3, ...
  2. Отрицательные целые числа: -1, -2, -3, ...
  3. Ноль: 0

Формально, $$\mathbb{Z} = \{..., -3, -2, -1, 0, 1, 2, 3, ...\}$$

Свойства целых чисел

  1. Замкнутость относительно операций:
    1. Сложение: Если `a` и `b` — целые числа, то `a + b` также является целым числом.
    2. Вычитание: Если `a` и `b` — целые числа, то `a - b` также является целым числом.
    3. Умножение: Если `a` и `b` — целые числа, то `a * b` также является целым числом.
    4. Деление: Деление целых чисел не всегда приводит к целому числу (например, `5 / 2 = 2.5`).
  2. Коммутативность:
    1. Сложение: `a + b = b + a` для любых целых чисел `a` и `b`.
    2. Умножение: `a * b = b * a` для любых целых чисел `a` и `b`.
  3. Ассоциативность:
    1. Сложение: `(a + b) + c = a + (b + c)` для любых целых чисел `a`, `b` и `c`.
    2. Умножение: `(a * b) * c = a * (b * c)` для любых целых чисел `a`, `b` и `c`.
  4. Дистрибутивность:
    1. Умножение дистрибутивно относительно сложения: `a * (b + c) = a * b + a * c` для любых целых чисел `a`, `b` и `c`.
  5. Существование нейтрального элемента:
    1. Сложение: Ноль является нейтральным элементом для сложения: `a + 0 = a` для любого целого числа `a`.
    2. Умножение: Единица является нейтральным элементом для умножения: `a * 1 = a` для любого целого числа `a`.
  6. Существование противоположного элемента:
    1. Для каждого целого числа `a` существует противоположное число `-a`, такое что `a + (-a) = 0`.

Представление целых чисел в компьютерах

В компьютерах целые числа обычно представляются с использованием двоичной системы счисления. Существует несколько способов представления целых чисел:

  1. Беззнаковые целые числа: Представляют только положительные числа и ноль.
  2. Знаковые целые числа: Представляют как положительные, так и отрицательные числа. Существует несколько способов представления знаковых чисел:
    1. Прямой код: Старший бит используется для представления знака (0 — положительное число, 1 — отрицательное число).
    2. Обратный код: Для представления отрицательного числа все биты числа инвертируются (0 заменяется на 1 и наоборот).
    3. Дополнительный код: Для представления отрицательного числа используется обратный код + 1. Дополнительный код является наиболее распространенным способом представления знаковых целых чисел в современных компьютерах, так как он упрощает выполнение арифметических операций.

Диапазон целых чисел

Диапазон целых чисел, которые могут быть представлены в компьютере, зависит от количества битов, используемых для их представления. Наиболее распространенные размеры целых чисел:

  1. 8 бит (byte): Диапазон от -128 до 127 (знаковое) или от 0 до 255 (беззнаковое).
  2. 16 бит (short): Диапазон от -32,768 до 32,767 (знаковое) или от 0 до 65,535 (беззнаковое).
  3. 32 бита (int): Диапазон от -2,147,483,648 до 2,147,483,647 (знаковое) или от 0 до 4,294,967,295 (беззнаковое).
  4. 64 бита (long): Диапазон от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 (знаковое) или от 0 до 18,446,744,073,709,551,615 (беззнаковое).

Операции с целыми числами в программировании

В большинстве языков программирования доступны следующие операции с целыми числами:

  1. Арифметические операции:
    1. Сложение (`+`)
    2. Вычитание (`-`)
    3. Умножение (`*`)
    4. Деление (`/`)
    5. Остаток от деления (`%`)
  2. Операции сравнения:
    1. Равно (`==`)
    2. Не равно (`!=`)
    3. Больше (`>`)
    4. Меньше (`<`)
    5. Больше или равно (`>=`)
    6. Меньше или равно (`<=`)
  3. Битовые операции:
    1. Побитовое И (`&`)
    2. Побитовое ИЛИ (`|`)
    3. Побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ (`^`)
    4. Побитовое НЕ (`~`)
    5. Сдвиг влево (`<<`)
    6. Сдвиг вправо (`>>`)

Переполнение

Переполнение происходит, когда результат арифметической операции выходит за пределы диапазона, представимого данным типом данных. В этом случае результат может быть непредсказуемым и привести к ошибкам в программе.

Пример переполнения:

``` int maxInt = 2147483647; int result = maxInt + 1; // result будет равен -2147483648 (минимальное значение int) ```

Применение

Целые числа используются в широком спектре приложений, включая:

  1. Индексация массивов.
  2. Счетчики циклов.
  3. Представление дискретных данных.
  4. Арифметика и вычисления.
  5. Криптография.

Понимание целых чисел и их свойств является важным для разработки эффективного и надежного программного обеспечения.