166805 (740530), страница 2
Текст из файла (страница 2)
Обычно все системы счисления разбивают на два класса: непозиционные и позиционные. Непозиционной называют систему счисления, в которой значение каждой цифры в любом месте последовательности цифр, означающей запись числа, не изменяется.
Исторически первыми системами счисления были именно непозиционные системы. Одним из основных недостатков является трудность записи больших чисел. Запись больших чисел в таких системах либо очень громоздка, либо алфавит системы чрезвычайно велик. Примером непозиционной системы счисления, достаточно широко применяющейся в настоящее время, может служить так называемая римская нумерация.
Для определения значения числа недостаточно знания типа и алфавита системы счисления. для этого необходимо еще задание правила, позволяющего по значению цифр установить значение числа. Например, для определения значения числа 945 в обычной десятичной системе счисления применяется функция десятичного сложения, т. е. значение числа определяется по значению цифр (9 в крайней левой позиции, 5 в крайней правой позиции, 4 между ними) обычным суммированием: значение числа 945 есть 900+40+5. В римской нумерации число IX определяется вычитанием: значение числа IX есть 10-1=9.
Системы, в которых значение каждой цифры зависит и от места в последовательности цифр при записи числа, носят название позиционных. Позиционной системой счисления является обычная десятичная система счисления.
При выполнении различных операций в современных цифровых системах числа обычно представляются в двоичной системе счисления, основанием которой является число 2. При этом целое k-разрядное десятичное число
записывается в виде n-разрядного двоичного числа
:
где =0, 1, … , 9 – цифра в i-м разряде десятичного числа:
=0 или 1 – цифра в j-м разряде двоичного числа.
Введением отрицательных степеней числа 2 представляются дробные числа.
Таким образом, в двоичном счислении любое числи можно представить двумя числами: 0 и 1. Для представления этих чисел в цифровых системах достаточно иметь электронные схемы, которые могут принимать два состояния, четко различающиеся значением какой-либо электрической величины – потенциала или тока. Одному из значений этой величины соответствует цифра 0, другому 1. Относительная простота создания электронных схем с двумя электрическими состояниями и привела к тому, что двоичное представление чисел доминирует в современной цифровой технике. При этом 0 обычно представляется низким уровнем потенциала, а 1 – высоким уровнем. Такой способ представления называется положительной логикой.
Перевод десятичного числа в двоичный код можно осуществлять путем последовательного деления числа на 2. Остатки ( 0 или 1 ), получающиеся на каждом шаге деления, формируют двоичный код преобразуемого числа, начиная с его младшего разряда. В качестве старшего разряда двоичного кода записывается 1, полученная в результате последнего шага деления. Например, преобразование числа =109 в двоичный код выполняется следующим образом:
Обратное преобразование выполняется следующим образом:
1 0 1 1 0 1 1
Цифровые системы оперируют действительными, целыми и дробными числами, которые могут иметь две формы представления: с плавающей запятой, с фиксированной запятой.
При использовании плавающей запятой число состоит из двух частей: мантиссы m, содержащей значащие цифры числа, и порядка p, показывающего степень, в которую надо возвести основание числа q, чтобы полученное при этом число, умноженное на мантиссу , давало истинное значение представляемого числа:
Мантисса и порядок представляются в двоичном коде. Обычно число дается в нормализованном виде, когда его мантисса является правильной дробью, причем первая значащая цифра ( единица ) следует непосредственно после запятой: например, где m=0,1010; p=10; q=2
При использовании фиксированной запятой число представляется в виде единого целого, причем положение запятой в используемой разрядной сетке жестко фиксировано. Обычно числа с фиксированной запятой даются в виде правильной дроби. Для этого все числа умножают на масштабный коэффициент, чтобы перевести их в правильную дробь. Цифровые системы, использующие числа с плавающей запятой, сложнее систем, использующих числа с фиксированной запятой, так как при этом требуется выполнение операций как над мантиссами, так и над порядками. Однако диапазон представляемых чисел при одинаковом числе разрядов в системах с плавающей запятой значительно больше.
Для представления знака числа используется знаковый разряд z, который обычно располагается перед числовыми разрядами. Для положительных чисел значение знакового разряда z=0, для отрицательных чисел z=1. Для чисел с плавающей запятой вводятся отдельные знаковые разряды для мантиссы и для порядка чисел.
Для представления числе со знаком в цифровых системах используется обратный1 или дополнительный2 код (таб. 1.). При этом положительные числа представляются в обычном двоичном коде. Обратный код отрицательного числа образуется путем замены 0 во всех разрядах исходного двоичного числа
на 1, и наоборот. Дополнительный код отрицательного числа
получается из обратного прибавлением 1 к младшему разряду.
Особенность кода Грея в том , что при переходе к каждому последующему числу в коде изменяется значение только одного двоичного разряда. При этом двухразрядные числа образуют циклическую последовательность 00-01-11-10 (0-1-2-3), трехразрядные – последовательность 000-001-011-010-110-111-101-100-000 (0-1-2-3-4-5-6-7-0) и т.д. Такая цикличность кода является весьма удобной, например, для кодирования угловых перемещений в преобразователях угла поворота в цифровой код.
Таблица 1. Наиболее распространенные двоичные коды от 0 до 15
Десятичное число | Форма представления | |||||||||||||||
Двоичное счисление | Обратный код | Дополнительный код | Код Грея | |||||||||||||
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 | 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 | 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 | 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 | 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 | 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 | 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 | 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 | 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 | 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 | 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 | 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 | 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 | 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 | 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 | 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 |
Перевод десятичных чисел в двоичный код требует использования достаточно сложных схем преобразователей и занимает относительно долгое время. Более просто и быстро осуществляется перевод десятичных чисел в двоично-десятичный код. При этом цифра в каждом разряде десятичного числа заменяется соответствующим четырехразрядным двоичным числом (тетрадой) согласно таб. 2