Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
127
Добавлен:
02.05.2014
Размер:
123.9 Кб
Скачать

Формы представления чисел в эвм.

В точных науках известны позиционная и непозиционная системы счисления.

Система счисления (СС) - способ наименования и изображения чисел с помощью символов, имеющих определенное количественное значение.

В непозиционной системе счисления цифры не меняют своего количественного значения в зависимости от расположения в изображении числа. Так, непозиционное римское Х имеет значение "десять" в числе XXX -тридцать, и в числе LX- шестьдесят. Непозиционные системы счисления не получили широкого распространения из-за громоздкости изображений и сложных правил получения значений по изображению.

В позиционной СС количественное значение каждой цифры зависит от ее места (позиции) в числе. Количество (Р) различных цифр, используемых для изображения числа в позиционной СС, называется основанием СС. Значения цифр лежат в диапазоне от 0 до (Р-1).

В общем случае запись любого смешанного числа в СС с основанием Р будет представляться в виде ряда:

(1)

Нижние индексы определяют местоположение цифры в числе (разряд):

- положительные значения индексов, включая нуль — для целой части числа (m разрядов);

- отрицательные значения - для дробной части числа (s разрядов).

Максимальное целое число, которое может быть представлено в m разрядах:

(2)

Минимальное значение, не равное 0, которое можно записать в s разрядах дробной части, равно (3)

В общем случае, имея Р разрядов целой части числа и S - дробной, можно записать разных чисел. Именно это выражение представляет диапазон отображаемых значений.

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

Двоичная система счисления имеет основание Р=2 и использует для представления информации всего 2 цифры - 0 и 1. Существуют правила перевода чисел из одной системы счисления в другую, основанные на соотношении (1). Например, двоичное число 101110,101 равно десятичному

46,625:

101110,101 =1*25+0*24+1*23+1*22+1*2'+0*2°+1*2-1+0*2-2+1*2-3= 32 + 8 + 4 + 2 + 0,5 + 0,125 = 46,625

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

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

((…(

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

- для перевода целой части числа, исходное число, а затем и целые части, получающиеся в процессе преобразований, следует последовательно делить на основание р до тех пор, пока целая часть частного не окажется равной 0. Остатки от деления, записанные последовательно справа налево (от последних к первым), образуют целую часть числа в СС с основанием р;

- для перевода дробной части исходное число, а затем дробные части , получающиеся в процессе преобразований, следует последовательно умножать на основание р до тех пор, пока очередная дробная часть произведения не окажется равной 0 ( число переводится в новую СС точно) или не будет достигнута заданная точность (после s произведений дробная часть не равна 0 - число переводится в новую СС неточно). Целые части произведений, записанные после запятой последовательно слева направо (в порядке получения, от первых к последним) образуют дробную часть числа в СС с основанием р. Согласно вышеизложенным правилам, перевод в двоичную систему числа 46,625 будет следующим:

целая часть 46; процесс деления: 1) 46:2=23 (остаток 0), 23:2=11 (остаток 1), 11:2=5 (остаток 1), 5:2=2 (остаток 1), 2:2==1 (остаток 0), 1:2=0 (остаток 1). Итог: записываем остатки в обратном порядке:

101110;

дробная часть: 0,625; процесс умножения: 1) 0,625*2+1,250 (целая часть 1), 0,25*2=0.5 (целая часть 0), 0,5*2=1,0 (целая часть 1). Итог:

записываем целые части в порядке получения: 101.

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

1010 – А, 1011 – В, 1100 – С, 1101 – D, 1110 – E, 1111 – F.

Чтобы количество разрядов было кратно 4, можно добавлять незначащие нули слева к целой части числа и справа – к дробной. Используя изложенные выше положения, можнозаписать равенство:

здесь нижние индексы указывают СС, в которой представляется число.

Соседние файлы в папке Лекции по ассемблеру