Информатика и вычислительная техника


Системы счисления, применяемые в ЭВМ


Способ представления (записи) чисел с помощью цифровых знаков называется системой счисления. В любой системе счисления используется некоторый конечный алфавит цифр a1, a2, ..., аn. При этом каждой цифре ai в записи числа ставится в соответствие определенный количественный эквивалент, ее "вес". Если количественное значение цифры зависит не только от вида этой цифры, но и от ее позиции (местоположения) в записи числа, то такая система счисления называется позиционной. Благодаря наглядности и сравнительной простоте выполнения арифметических операций в ЭВМ применяются только позиционные системы счисления.

Количество различных цифр в алфавите позиционной системы счисления называется основанием S этой системы. Любое число А в позиционной системе можно представить суммой последовательных целых степеней основания S, взятых с коэффициентом ai из алфавита данной системы счисления:

Сокращенная запись числа As имеет вид:

При этом позиции цифр ai в этой записи называются разрядами, причем старшие разряды, соответствующие более высоким степеням основания S, располагаются обычно слева, а младшие - справа. Разряды целой части числа отделяются от дробной точкой (запятой).

Алфавит привычной для нас десятичной системы счисления состоит из десяти арабских цифра 0, 1, 2, ..., 9. Любое число в этой системе счисления можно представить суммой последовательных степеней десяти (S = 10), взятых с соответствующими коэффициентами а; (0, 1, ..., 9):

где а0, а1, а2, ... - количество единиц, десятков, сотен и т.д.; а- 1, а- 2, ... - количество десятых, сотых и т.д. долей единицы.

Например, 26,4810 = 2 · 101 + 6 · 100 + 4 · 10- 1 + 8 · 10- 2.

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

89

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

Простота технической реализации двухпозиционных элементов обеспечила наибольшее распространение в ЭВМ двоичной системы счисления, основание которой S = 2; в ней используются лишь две цифры: 0 и 1, Любое действительное число в двоичной системе счисления представляется в виде суммы целых степеней основания S = 2, умноженных на соответствующие коэффициенты (0 или 1). Например, двоичное число 11011,012 = 1 · 24 + 1 · 23 + 0 · 22 + 1 · 21 + 1 · 20 + 0 · 2- 1 + 1 · 2- 2 = 16 + 8 + 2 + 1 + 0,25 = 27,2510 соответствует десятичному числу 27,2510.

Вместе с тем применение двоичной системы счисления связано с некоторыми неудобствами. Во - первых, следует отметить, что двоичное число имеет по сравнению с десятичной записью большее количество разрядов. Число n двоичных разрядов, необходимое для записи m - разрядного десятичного числа, определяют из условия: 2n ? 10m. Отсюда nlg 2 m, или n/m 1/lg2 ? 3,32, т.е. двоичная запись числа в 3,32 раза длиннее десятичной.



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

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


Реализация же существующих систем с основаниями больше двух обычно достигается представлением цифр этой системы группой двоичных цифр. Наибольшими возможностями в этом направлении обладают системы счисления с основанием, представляющим целую степень двух. Среди них наиболее применяемыми являются восьмеричная (8 = 23) и шестнадцатеричная (16 = 24) системы счисления. Они обычно используются в процессе программирования для более компактной записи кодов команд программы.

90

В восьмеричной системе счисления используются восемь цифр - от 0 до 7, а любое число представляется суммой целых степеней основания S = 8, умноженных на соответствующие коэффициенты аi = 0, 1, ..., 7. Например, десятичное число 215 записывается в восьмеричной системе счисления следующим образом:

В шестнадцатеричной системе счисления алфавит цифровых знаков состоит из 16 символов, причем в качестве первых десяти символов используются арабские цифры от 0 до 9, а дополнительно к ним применяются буквенные символы: 10 - А, 11 - В, 12 - С, 13 - D, 14 - Е, 15 - F. С помощью данного алфавита можно записать все десятичные числа от 0 до 15 включительно, а затем и т.д.

Число 215 в шестнадцатеричной системе счисления запишется следующим образом:

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

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

91

Помимо рассмотренных систем счисления в ЭВМ также применяется промежуточная двоично - десятичная система, которая используется в операциях ввода - вывода данных.


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

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

Рассмотрим теперь общие правила перевода из одной позиционной системы счисления в другую.

1. Перевод целого числа из системы счисления с основанием S в другую систему с основанием q осуществляется последовательным делением его на основание q новой системы счисления до тех пор, пока не получится частное, меньшее q. Число в новой системе запишется в виде остатков деления, начиная с последнего. Указанное деление выполняется в исходной системе счисления.

Выполним по этому правилу перевод десятичного числа 37710 сначала в двоичную, а затем в восьмеричную и шестнадцатеричную системы.

Аналогично выполним перевод в восьмеричную и шестнадцатеричную системы счисления:

92

Остатки от соответствующих делений дают записи в новых системах счисления, т.е. 37710 = 1011110012 = 5718 = 17916. Эти результаты можно легко проверить, если использовать промежуточные переводы, например, из восьмеричной или из шестнадцатеричной системы в двоичную.

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

Проиллюстрируем это правило на примере перевода десятичной дроби 0,6875 в двоичную, восьмеричную и шестнадцатеричную системы счисления.

В шестнадцатеричной системе счисления целая часть произведения 11 представится символом В, поэтому окончательно получим 0,687510 = 0,10112 = 0,548 = 0,B16.

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

3. Для перевода неправильных дробей в новую позиционную систему необходимо, пользуясь рассмотренными правилами, выполнить отдельно перевод целой и дробной частей.

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

93

Приведем примеры,

94

89 :: 90 :: 91 :: 92 :: 93 :: 94 :: Содержание


Содержание раздела