Представление чисел в современных цифровых устройствах
Системы счисления.Система счисления - это код, в котором использованы специальные символы для обозначения количества каких либо объектов. Количество символов в системе счисления носит название его основания. Например, система счисления с основанием 10 имеет десять символов от 0 до 9. Система счисления с основанием два содержит всего два символа, эта система называется двоичной системой счисления. В шестнадцатеричной системе используется 16 символов и т.д.
Чем меньше основание системы счисления, тем больше разрядов требуется для представления одного и того же количества объектов. Количественное значение символа определяется его номером разряда, т.е. местом расположения этого символа в числовом ряду.
Десятичная система счисления.Основание этой системы счисления Р=10, так как для записи цифр разрядов используется десять символов. В качестве примера возьмем десятичное число 523.0. Здесь цифра 5 обозначает число 500, так как оно занимает по порядку 3-й разряд слева от десятичной точки.
523 = 5•102+ 2•101+ 3•100- отсюда следует, что каждый разряд имеет свой “вес”. В зависимости от номера разряда (т.е. от номера позиции символов) разряды имеют следующие весовые коэффициенты
Таким образом, весовой коэффициент разряда в общем случае определяется как Рn-1, где n-порядковый номер разряда после точки (для целых чисел обычно точка не указывается, но подразумевается). Разряды справа после точки имеют следующие веса: Р-1, Р-2, и т.д.
Шестнадцатеричная система счисления.Основание этой системы Р = 16 и для записи цифр разрядов используются 16 символов 0, 1, 2, . . . 9, А, В, С, D, Е, F. Весовые коэффициенты определяются как Рn-1, т.е. имеют значения 1, 16, 256, 4096, и т.д.
Двоичная система счисления. Понятие весовых коэффициентов сохраняется и для чисел двоичной системы счисления (основание Р = 2). Рассмотрим пример, где число представлено в двоичной системе счисления и имеет вид 11011012(индекс "2" в конце числа показывает, что число представлено в двоичной системе счисления). Десятичный эквивалент этого числа, т.е. значение числа в привычной для нас системе счисления, определим, используя весовые коэффициенты разрядов символов
11011012=1·26+ 1·25+ 0·24+ 1·23+ 1·22+ 0·21+ 1·20=
= 1·64 + 1·32 + 0·16 + 1·8 + 1·4 + 0·2 + 1·1 = 10910.
Таким образом, десятичный эквивалент двоичного числа определяется как сумма весовых коэффициентов разрядов, имеющих единичный сомножитель.
В цифровой технике часто используется и двоично-десятичная система счисления. При этом каждый разряд десятичного числа представляется четырьмя разрядами двоичного числа. Очевидно, что при этом используются не все значения четырехразрядного двоичного числа, т.к. оно может реализовать числа от 0 до 15, а в двоично-десятичной системе используется лишь значения от 0 до 9.
Арифметические основы цифровых устройств.При выполнении различных операций в современных цифровых устройствах и системах числа обычно представляются в двоичной системе счисления. Это связано с тем, что для представления смысла символов цифр двоичной системы счисления можно использовать простые электронные схемы с двумя электрическими состояниями. Принято, что символ “1” представляется некоторым стандартным уровнем напряжения или тока, а “0” - нулевым или близким к нулю уровнем напряжения или тока.
Арифметические операции над двоичными числами могут производиться по тем же правилам, что и над десятичными, однако, с целью упрощения цифровых систем для выполнения арифметических операций применяют алгоритмы, отличные от алгоритмов действий десятичной арифметики.
В двоичной системе счисления для представления знака числа используется дополнительный знаковый разряд (один или несколько разрядов), который располагается перед старшим числовым разрядом. Для положительных чисел значение знакового разряда Зн.р.=0, для отрицательного числа Зн.р.=1.
Операция вычитания в цифровых системах реализуется с помощью операции сложения. Вычитаемое при этом представляется в дополнительном коде (если расчет не требует высокой точности - в обратном коде).
Двоичный код со знаком называют также прямым кодом. В качестве примера рассмотрим положительное и отрицательное числа, десятичный эквивалент которых равен 4610.
Обратный кодполучается путем замены всех “0” на “1” и всех “1” на “0” прямого кода (двоичного числа со знаком). Причем, знаковый разряд при этом остается неизменным.
Замена “0” на единицу (“1”) называется инвертированием(также и замена “1” на “0”).
Обратный код, дополненный единицей в младшем разряде, называется дополнительным кодом. Последовательность действий при получении дополнительного кода:
Сложение и вычитание двоичных чисел.Правила сложения двух двоичных чисел можно показать на следующем примере:
Пример сложения многоразрядных чисел. Требуется сложить два числа 1810и 2310
Вычитание в цифровых устройствах производится также как и сложение, только вычитающее представляется в дополнительном коде. Рассмотрим два примера, в первом требуется из числа 23 отнять число 18, а во втором из 18 отнять 23. С начала вычитающие представим в дополнительном коде
Перевод отрицательного дополнительного кода в отрицательный прямой код осуществляется также, как и перевод в дополнительный код прямого кода. Тогда
В результате полученное число соответствует числу минус пять (-5).
Принято считать, что дополнительный код положительного числа совпадает с его прямым кодом.
Операция вычитания с использованием только обратного кода (без дополнительных операций по переводу его в дополнительный код) приводит к ошибке, определяемой единицей в младшем разряде, и поэтому при точных расчетах не применяется.