|
Двоичная система счисления - это позиционная система записи чисел с основанием два.
В повседневной жизни мы привыкли пользоваться десятичной системой записи чисел с основанием 10. То есть для записи чисел у нас есть десять символов от 0 до 9, а место каждого символа (позиция) указывает его вес - единицы, десятки, сотни и т.д.
В двоичной системе счисления все устроено аналогичным образом, только для записи чисел у нас всего два символа - 0 и 1.
Из-за того, что для записи числа у нас только два символа (0 и 1), она нашла широкое применение в электронных устройствах и вычислительной технике. Несмотря на многочисленные попытки использования для вычислений аналоговых устройств, системы с троичной логикой (троичная система счисления с символами 0, 1 и 2), системы с двоичной логикой в настоящее время занимают доминирующее положение. Впрочем, с приходом квантовых вычислений, ситуация, скорее всего, изменится.
Как устроена запись чисел в двоичной системе
По аналогии с привычной десятичной системой, при переполнении разряда, добавляется следующий, который заполняется единицей.
В десятичной системе максимальное значение в одном разряде - число 9. Если нам нужно добавить единицу - то текущий разряд обнуляется, а в соседнем разряде появляется единица:
9
добавляем 1, получаем
10
(старший разряд стол единицей, младший - обнулился)
Теперь "посчитаем до десяти" в двоичной системе.
0. В двоичной системе так и будет - 0.
1. В двоичной системе так и будет - 1.
2. Символа 2 в двоичной системе нет. Поэтому младший разряд сбрасывается, а старший добавляется как 1. Получаем 10.
3. Добавляем единицу. Поскольку у нас было 10, младший разряд может быть увеличен на 1, получаем - 11.
4. Младший разряд снова достиг максимального значения, поэтому мы должны его сбросить, но следующий разряд тоже достиг максимального значения (1), его тоже сбрасываем и добавляем новый разряд. Получаем - 100.
5. Добавляем единицу в младший регистр. У нас было записано число 4 как 100, добавляем 1 в младший разряд и получаем 101.
6. Добавляем единицу в младший разряд, но он достиг максимального значения, сбрасываем его и добавляем единицу в следующий. Получаем 110.
7. Добавляем единицу в младший регистр. Получаем - 111.
8. Пытаемся добавить единицу к двоичному числу 111 и видим, что нам нужно последовательно сбросить уже целых три разряда и добавить еще один разряд. Получаем 1000.
9. Добавляем единицу к двоичному числу 1000, получаем - 1001.
10. Добавляем единицу к младшему разряду, но он достиг максимального значения, сбрасываем его и добавляем единицу к следующему. Получаем 1010.
Подведем итоги:
В десятичной
системе
|
В двоичной
системе
|
0
|
0
|
1
|
1
|
2
|
10
|
3
|
11
|
4
|
100
|
5
|
101
|
6
|
110
|
7
|
111
|
8
|
1000
|
9
|
1001
|
10
|
1010
|
Как видно из указанного выше, принцип записи чисел в двоичной системе точно такой же, просто используется меньшее количество символов в одном разряде.
Как различают числа, записанные в двоичной и десятичной системах
Для того, чтобы не перепутать число 100, записанное в десятичной системе с числом 100 в двоичной (которое эквивалентно 4 в десятичной) используют дополнительные символы в конце или в начале числа.
Например:
10010 и 1002.
В данном случае в виде нижнего индекса указывается основание системы счисления.
В литературе, посвященной программированию чаще всего используют обозначения чисел, применяемые в семействе языков программирования С (С. С#, C++). В этих языках принято обозначать двоичные числа префиксом 0b.
Тогда 100 в десятичной системе будет записано без изменений, а 100 в двоичной системе будет записано как 0b100.
Сложение и вычитание двоичных чисел
Сложение и вычитание двоичных чисел можно делать абсолютно аналогично принципам сложения и вычитания "в столбик" десятичных чисел.
Проведем сложение двух чисел 7 и 9.
В двоичной системе счисления
710 = 1112
910 = 10012
Тогда
|
|
|
1
|
1
|
1
|
+
|
|
1
|
0
|
0
|
1
|
|
1
|
0
|
0
|
0
|
0
|
1610 = 100002 .
Как видим, сложение 1 и 1 в младшем разряде приведет к достижению максимального значения, то есть он должен быть сброшен ( в ноль ), а единица должна быть прибавлена к следующему разряду. Но там при сложении уже имеется единица и добавление единицы приведет нас к аналогичным действиям - снова сбрасываем разряд в ноль, переносим единицу в следующий и так далее.
Преобразование чисел из двоичной системы в десятичную
Для преобразования чисел, записанных в двоичной системе, в десятичную, нам потребуется таблица степеней числа 2.
Запишем степени двойки в виде следующей строки:
Теперь любое двоичное число можно будет пересчитать в десятичное следующим образом:
+256
|
+128
|
+64
|
+32
|
+16
|
+8
|
+4
|
+2
|
+1
|
Результат пересчета
|
|
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
64+8+4+1 = 77
|
То есть 10011012 = 7710.
Описание курса
| Хранение и кодирование информации
|