Арифметика
Двоичная система
Философ, который изобрёл язык компьютеров
Немецкий философ и математик **Лейбниц** описал двоичную систему в статье «Explication de l'Arithmétique Binaire». Он увидел в ней глубокий философский смысл: всё можно создать из **ничего (0)** и **единицы (1)** - как Бог создал мир.
Бог выбрал самое совершенное - создать всё из ничего и единицы.
Лейбниц мечтал о «вычислительной машине». Через 250 лет его двоичная система стала основой всех компьютеров. Каждый транзистор в процессоре - это реализация идеи Лейбница: 0 или 1, выключено или включено.
Каждое фото, видео, сообщение в вашем телефоне - это последовательность нулей и единиц. Триллионы бит хранятся и обрабатываются каждую секунду. Двоичная система - фундамент цифрового мира, и понять её - значит понять, как работают компьютеры.
- **Компьютеры:** вся память и процессоры работают в двоичной системе
- **Сети:** IP-адреса, маски подсетей
- **Криптография:** шифрование данных на уровне бит
Позиционные системы счисления
Мы пишем числа в **десятичной системе**: каждая позиция - это степень 10. Но 10 - не единственный выбор. Компьютеры используют двоичную систему (основание 2).
**Позиционная система счисления:** Значение цифры зависит от её позиции (места). 347₁₀ = 3×10² + 4×10¹ + 7×10⁰ = 300 + 40 + 7 Основание системы - сколько разных цифр используется.
Позиционные системы - гениальное изобретение. Римские числа (I, V, X, L, C...) не позиционные, и арифметика с ними очень сложна.
Что означает «основание системы счисления»?
Двоичная система
В двоичной системе только две цифры: 0 и 1. Каждая позиция - степень двойки: 1, 2, 4, 8, 16, 32...
**Терминология:** • **Бит** (bit) - одна двоичная цифра (0 или 1) • **Байт** (byte) - 8 бит (от 00000000 до 11111111) • 1 байт хранит числа от 0 до 255 (2⁸ - 1)
Двоичные числа длиннее десятичных (1000₁₀ = 1111101000₂), но для электроники это не проблема - транзисторы работают очень быстро.
Чему равно 1101₂ в десятичной системе?
Перевод между системами
Как перевести число из десятичной в двоичную и обратно? Два простых алгоритма.
**Быстрый способ:** Запомните степени двойки: 1, 2, 4, 8, 16, 32, 64, 128, 256... Найдите наибольшую степень ≤ числа, вычтите, повторите. 42 = 32 + 10 = 32 + 8 + 2 = 101010₂
Программисты часто переводят в уме небольшие числа. С практикой это становится автоматическим.
Переведите 25₁₀ в двоичную систему:
Арифметика в двоичной системе
Сложение, вычитание и умножение работают так же, как в десятичной системе - только с переносом при переполнении разряда.
**Почему сдвиги важны:** В компьютере сдвиг бит - одна из самых быстрых операций. Умножение на 2 = сдвиг влево Деление на 2 = сдвиг вправо Это используется в оптимизации программ.
Процессор компьютера выполняет миллиарды двоичных операций в секунду. Вся сложность компьютеров построена на этих простых правилах.
В двоичной системе 1 + 1 = 2
В двоичной системе 1 + 1 = 10 (ноль и перенос единицы)
В двоичной системе нет цифры «2» - только 0 и 1. Когда сумма превышает 1, происходит перенос в следующий разряд: 1 + 1 = 10₂ (что равно 2₁₀). Это как в десятичной: 9 + 1 = 10 (ноль и перенос).
Чему равно 101₂ + 111₂?
Ключевые идеи
- Двоичная система использует только 0 и 1
- Позиции: 1, 2, 4, 8, 16, 32... (степени 2)
- Перевод: деление на 2 с записью остатков
- Сдвиг влево/вправо = умножение/деление на 2
Связанные темы
Двоичная система - основа информатики:
- Степени — Позиции = степени 2
- Другие системы счисления — 8-ричная, 16-ричная
- Логические операции — AND, OR, XOR над битами
Вопросы для размышления
- Почему компьютеры используют именно двоичную, а не десятичную систему?
- Сколько разных чисел можно записать 8 битами (1 байт)?
- Как связаны двоичные сдвиги и умножение на степени двойки?