Электроника:Цифровая электроника/Системы счисления/Системы счисления

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Макаров В. (valemak) Контакты:</br>* Habr: @vakemak</br>* Сайт: www.valemak.com</br>Перевёл статей: 656.
Проверка/Оформление/Редактирование: Мякишев Е.А.


Системы счисления[1]

Древние римляне разработали систему, которая была значительным шагом вперёд по сравнению с хеш-метками, ибо в ней использовались различающиеся символы (или цифры) для представления всё более крупных чисел.

Обозначение для числа 1 – это заглавная латинская буква «I». Обозначение для 5 – это заглавная латинская буква «V». Прочие цифры по возрастанию:

Х = 10
L = 50
С = 100
D = 500
M = 1000

Если рядом с цифрой непосредственно справа от неё стоит другая цифра равного или меньшего номинала, без цифр с ещё бо́льшим значением, чем эта другая цифра справа от этой другой цифры, то значение этой другой цифры следует добавить к общему количеству.

Таким образом, VIII обозначает число 8 (V + I + I + I = 5 + 1 + 1 + 1 = 8), а CLVII обозначает число 157 (C + L + V + I + I = 100 + 50 + 5 + 1 + 1 = 157). С другой стороны, если рядом с цифрой непосредственно слева от неё находится другая цифра меньшего номинала, то значение этой другой цифры вычитается из первой цифры. То есть, IV символизирует число 4 (V - I = 5 - 1 = 4), а CM выражает число 900 (M - C = 1000 - 100 = 900).

Если Вы в кинотеатре тоже дожидаетесь сцену после титров, то, возможно, замечали, что в самом конце в большинстве фильмов указывается дата производства, выраженной римскими цифрами. Для 1987 года это будет: MCMLXXXVII. Разобьём это число на составные части слева направо:

M = 1000
+
СМ = 900
+
L = 50
+
XXX = 30
+
V = 5
+
II = 2

Что, тяжко использовать такую систему счисления? Большие числа сложно обозначать таким образом, и все вот эти слева/справа и вычесть/сложить могут порядком запутать.

Ещё одна серьёзная проблема с этой системой заключается в том, что нет представления для нуля и отрицательных чисел, которые являются очень важными понятиями в математике. Римская культура, однако, была более прагматичной в отношении математики, чем большинство других, предпочитая развивать свою систему счисления ровно настолько, насколько это было необходимо для использования в повседневной жизни.

Позиционность

Одной из важнейших идей в области счисления мы обязаны древним вавилонянам, которые первыми (насколько известно) разработали концепцию позиционности цифр при представлении больших чисел.

Вместо того, чтобы изобретать новые цифры для более крупных чисел, как это делали римляне, они повторно использовали те же самые цифры, размещая их в разных положениях (позициях) справа-налево.

Наша собственная десятеричная система счисления использует эту концепцию, разве что у нас всего десять арабских цифр от 0 до 9, который располагаются во «взвешенных» позициях (то есть, каждая позиция имеет свой «вес», чем левее, тем «вес», т.е. значение цифры в этой позиции, больше) для представления очень больших и очень маленьких чисел.

Каждая цифра представляет собой целое число, и каждая позиция справа-налево в обозначении числа представляет собой константу умножения или «вес» для каждого целого числа. Например, если мы видим десятеричное обозначение «1206», мы знаем, что оно может быть разбито на составляющие его «взвешенные» произведения:

1206 = 1000 + 200 + 6
1206 = (1 × 1000) + (2 × 100) + (0 × 10) + (6 × 1)

У нас имеются всего десять цифр в десятеричной системе счисления, и для каждой цифры в записи числа определён «вес» (разрядное значение) в десять раз больше, чем для соседней цифры правее.

Таким образом, в числе у нас есть разряд единиц, разряд десятков, разрядов сотен, разрядов тысяч и так далее, справа налево.

В эту секунду вас, возможно, занимает вопрос: зачем я разжёвываю столь очевидные вещи? Кому ещё нужно объяснять, как работает десятеричная система счисления, если вы к этому моменту в изучении математики уже дошли до гораздо более продвинутых областей, таких как алгебра и тригонометрия?

Всё дело в том, что нам придётся освоить и другие системы счисления. И их будет проще понять, если полностью разобраться, как и что устроено в той, к которой привыкли с детства.

В десятеричной системе счисления используются десять цифр и весовые коэффициенты, кратные десяти. А что, если взять другую систему счисления с теми же принципами «взвешивания» позиций, но с меньшим или бо́льшим количеством цифр?

Двоичная система счисления

Такой системой является двоичная (она же бинарная) система счисления. Вместо десяти различных цифровых символов, и «весовых» констант, каждая из которых в десять раз больше предыдущей, у нас есть только два цифровых символа (а не десять), и каждая весовая константа не в десять раз, а вдвое больше, чем предыдущая.

Двумя допустимыми символами для двоичной системы счисления являются «1» и «0», и эти цифры в двоичном числе располагаются справа-налево с удвоением значения очередного «веса». Крайняя правая позиция – это разряд единиц, как и в десятеричной системе счисления. Идя справа-налево, у нас есть разряд двоек, разряд четвёрок, разряд восьмёрок, разряд шестнадцати и так далее.

Например, следующее двоичное число может быть выражено (как и с десятеричным числом 1206), как сумма значений каждой цифры, умноженной на соответствующую «весовую» константу:

11010 = 2 + 8 + 16 = 26
11010 = (1 × 16) + (1 × 8) + (0 × 4) + (1 × 2) + (0 × 1)

Это может сбивать с толку, так как я сначала написал число в двоичной системе счисления (11010), а затем показал его разряды и подытожил в стандартной десятеричной форме (16 + 8 + 2 = 26). В приведённом выше примере мы смешиваем два разных вида числовой записи (двоичную и десятеричную).

Чтобы не запутываться, должно указывать, какую систему счисления мы используем, когда пишем (или печатаем!) то или иное число. Как правило, это реализуется указанием нижнего индекса, где «2» означает двоичность, а «10» – десятеричность, поэтому двоичное число 110102 равно десятеричному числу 2610.

Нижние индексы не являются символами математических операций, как верхние индексы (обычно обозначающие экспоненту). Всё, что они делают, это просто указывают, какую систему счисления мы используем при записи того или иного числа, когда пишем цифры, чтобы их правильно прочитали другие люди. Если вы видите «310», то это означает, что это число три, записанное с использованием десятеричной системы.

Однако, если вы видите «310», это означает нечто совсем иное: три в десятой степени (59049). Как правило, если нижнего индекса у числа нет, то сие значит, что это десятеричное число.

Обычно количество цифр (и, следовательно, множитель разряда), используемых в системе счисления, называется основанием системы счисления. Двоичный формат чисел – это система счисления по основанию два, а десятеричный – с основанием десять.

Кроме того, мы называем каждую позицию цифры в двоичной системе битом, а не знакомое слово «цифра», используемое в десятеричной системе.

Итак, зачем кому-то могут понадобиться двоичные числа? Десятеричная система с её десятью цифрами для нас, можно сказать, «родная», ведь у нас десять пальцев на руках, на которых можем сосчитать до десяти. (Кстати, что интересно, в некоторых древних центральноамериканских культурах использовались системы счисления с основанием двадцать, предположительно майя и некоторые другие индейские этносы использовали пальцы как рук, так и ног). Но основная причина заключается в том, что двоичная система счисления используется в современной компьютерной электронике, ввиду максимальной простоты представления двух цифровых состояний (0 и 1) в электронном виде.

С относительно простой схемой мы можем выполнять математические операции с двоичными числами, представляя каждый бит чисел схемой, которая либо включена (есть ток), либо выключена (ток отсутствует). Так же, как на деревянных счётах, где каждая спица – это следующая десятеричную цифра в числе, мы просто добавляем больше цепей, чтобы иметь больше битов для обозначения бо́льших чисел.

Двоичная нумерация также хорошо подходит для хранения и поиска числовой информации: на магнитной ленте (с помощью оксида железа на ленте точка либо намагничиваются для двоичной «1», либо размагничиваются для двоичного «0»), оптических дисках (прожаренная лазером выемка в алюминиевой фольге, представляющая двоичную «1», или невыгоревшая точка, представляющее двоичный «0»), или множестве других типов носителей.

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

См.также

Внешние ссылки