Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие №1 (1-4 гл).docx
Скачиваний:
18
Добавлен:
09.04.2015
Размер:
134.4 Кб
Скачать

Представление чисел в эвм

В ЭВМ применяется две формы представления чисел:

естественная форма или форма с фиксированной запятой (точкой) – ФЗ

нормальная форма или форма с плавающей запятой (точкой) – ПЗ.

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

P-s<=N<=Pm-P-s

Так если Р=2, m=10, s=6, то 0,015<=N<=1024

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

В современных ЭВМ форма чисел с ФЗ используется только для целых чисел.

Число с плавающей запятой отображается как состоящее из двух компонент: мантиссы и порядка:

N=+-M*P+-r, гдеM– мантисса числа (|M|<1),r– порядок числа (целое),

P– основание системы счисления

Примеры: +00721,35500 +0,721355*103

-10301,20260 -0,103012026*105

+00000,000328 +0,328*10-3

Числа с плавающей запятой хранятся в ЭВМ в нормализованном виде:

старший разряд мантиссы больше нуля.

Форма с плавающей запятой обеспечивает практически неограниченный диапазон представляемых чисел.

Алгебраическое представление двоичных чисел

Знак числа обычно кодируется двоичной цифрой, при этом:

0 означает знак +

1 означает знак –

Для алгебраического представления чисел в ЭВМ используются специальные коды:

  • прямой код

  • обратный код

  • дополнительный код

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

Пример:

Число N, N=a1, a2, a3,….am

Прямой код N – [N]пр

Если N>0, то [N]пр=0, a1, a2, a3,….am

Если N<0, то [N]пр=1, a1, a2, a3,….am

Если N=0, то [0]пр=0, 0… или 1, 0 ….

Обратный код N – [N]обр,ã – инверсия дляа, тогда

Если N>0, то [N]обр=0, a1, a2, a3,….am

Если N<0, то [N]обр=1,ã 1, ã 2, ã 3,…. ã m

Если N=0, то [0]обр=0,0… или 1,1….

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

Дополнительный код N – [N]доп,ã – инверсия дляа, тогда

Если N>=0, то [N]доп=0, a1, a2, a3,….am

Если N<=0, то [N]доп=1,ã 1, ã 2, ã 3,…. ã m + 0,00…1

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

Примеры:

Число 1011. Обратный код 0,1011, дополнительный код 0,1011

Число -1011. Обратный код – 1,0100, дополнительный код 0,0101

Элементы двоичной арифметики

Правила выполнения операций в двоичной системе счисления аналогичны правилам операций в десятичной системе:

0+0=0 0*0=0 0+1=1 0*1=0 1+1=10 1*1=1

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