Двоичная система счисления
Двоичная система счисления — это позиционная система счисления с основанием 2. В этой системе счисления числа записываются с помощью двух символов (1 и 0).
Индийский математик Пингала (200 год до н. э.) разработал математические основы для описания поэзии с использованием первого известного применения двоичной системы счисления.
Наборы, представляющие собой комбинации двоичных цифр, использовались африканцами в традиционных гаданиях (таких как Ифа) наряду со средневековой геомантией.
В 1605 году Френсис Бэкон описал систему, буквы алфавита которой могут быть сведены к последовательностям двоичных цифр, которые в свою очередь могут быть закодированы как едва заметные изменения шрифта в любых случайных текстах. Важным шагом в становлении общей теории двоичного кодирования является замечание о том, что указанный метод может быть использован применительно к любым объектам.
Современная двоичная система была полностью описана Лейбницом в XVII веке. В системе счисления Лейбница были использованы цифры 0 и 1, как и в современной двоичной системе.
В 1854 английский математик Джордж Буль опубликовал знаковую работу, описывающую алгебраические системы применительно к логике, которая в настоящее время известна как Булева алгебра или алгебра логики. Его логическому исчислению было суждено сыграть важную роль в разработке современных цифровых электронных схем.
В 1937 Клод Шеннон предствил к защите кандидатскую диссертацию Символический анализ релейных и переключательных схем в MIT, в которой булева алгебра и двоичная арифметика были использованы применительно к электронным реле и переключателям. На диссертации Шеннона по существу основана вся современная цифровая техника.
В ноябре 1937 Джордж Штибиц создал на базе реле компьютер «Model K», который выполнял двоичное сложение. Позже cозданный под его руководством компьютер, завершённый 8 января 1940, умел выполнять операции с комплексными числами. Во время демонстрации на конференции Штибиц продемонстрировал возможность посылки команд удалённому калькулятору комплексных чисел по телефонной линии с использованием телетайпа. Это была первая попытка использования удалённой вычислительной машины посредством телефонной линии.
Запись двоичных чисел
Двоичная система счисления является частным случаем сдвоенных двоичных показательных позиционных систем счисления с обоими основаниями (a и b) равными 2. Целые числа записываются в виде:
где:
- n — число цифр (знаков) в числе x2,2,
- k — порядковый номер цифры,
- a = 2 — основание внутриразрядной системы счисления, * ak — цифры числа x2,2 из множества a={0,1},
- b = 2 — основание показательной функции, основание межразрядной системы счисления.
Целые числа являются частными суммами степенного ряда:
в котором коэффициенты an берутся из кольца R=a{0,1}, X=2, n=k, а верхний предел в частных суммах ограничен с до — n-1.
Из комбинаторики известно, что число записываемых кодов не зависит от основания показательной функции — b, которое определяет диапазон представляемых числами x2,b величин, и равно числу размещений с повторениями:
где a=2 — 2-х элементное множество a={0,1} из которого берутся цифры ak, n — число элементов (цифр) в числе x2,b.
Дробные числа записываются в виде:
где:
- m — число цифр дробной части числа,
- a = 2 — основание внутриразрядной системы счисления,
- b = 2 — основание показательной функции, основание межразрядной системы счисления.
Следует отметить, что число может быть записано в двоичном виде, а система счисления при этом может быть не двоичной, с другим основанием. Пример: двоично-десятичное кодирование, в котором десятичные цифры записываются в двоичном виде, а система счисления — десятичная.
Начиная с цифры 1 все цифры умножаются на два. Точка, которая стоит после 1, называется двоичной точкой.
Для того, чтобы преобразовывать числа из двоичной в десятичную систему данным методом, надо суммировать цифры слева направо, умножая ранее полученный результат на основу системы (в данном случае 2). Например, двоичное число 1011011 переводится в десятичную систему так:
0*2+1=1 >> 1*2+0=2 >> 2*2+1=5 >> 5*2+1=11 >> 11*2+0=22 >> 22*2+1=45 >> 45*2+1=91
То есть в десятичной системе это число будет записано как 91.
Или число 101111 переводится в десятичную систему так:
0*2+1=1 >> 1*2+0=2 >> 2*2+1=5 >> 5*2+1=11 >> 11*2+1=23 >> 23*2+1=47
Тоесть в десятичной системе это число будет записано как 47. Преобразование десятичных чисел в двоичные
Допустим, нам нужно перевести число 19 в двоичное. Вы можете воспользоваться следующей процедурой :
19 /2 = 9 с остатком 1
9 /2 = 4 c остатком 1
4 /2 = 2 с остатком 0
2 /2 = 1 с остатком 0
1 /2 = 0 с остатком 1
Итак, мы делим каждое частное на 2 и записываем остаток в начало двоичной записи. Продолжаем деление до тех пор, пока в делимом не будет 0. В результате получаем число 19 в двоичной записи: 10011.
Двоичные показательные позиционные системы счисления с основанием показательной функции не равной 2 являются целочисленными сдвоенными показательными системами счисления.
Целые числа записываются в виде:
где: b>2 — основание показательной межразрядной функции.
Дробные числа записываются в виде:
где: m — число цифр дробной части числа x2,b.
Двоичная система используется в цифровых устройствах, поскольку является наиболее простой и соответствует требованиям:
- Чем меньше значений существует в системе, тем проще изготовить отдельные элементы, оперирующие этими значениями. В частности, две цифры двоичной системы счисления могут быть легко представлены многими физическими явлениями: есть ток — нет тока, индукция магнитного поля больше пороговой величины или нет и т. д.
- Чем меньше количество состояний у элемента, тем выше помехоустойчивость и тем быстрее он может работать. Например, чтобы закодировать три состояния через величину индукции магнитного поля, потребуется ввести два пороговых значения, что не будет способствовать помехоустойчивости и надёжности хранения информации.
- Двоичная арифметика является довольно простой. Простыми являются таблицы сложения и умножения — основных действий над числами.
В цифровой электронике одному двоичному разряду в двоичной системе счисления соответствует (очевидно) один двоичный разряд двоичного регистра, то есть двоичный триггер с двумя состояниями (0,1).