Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 1 курс / метод указания / Формы представления данных и преобразование информации в ЭВМ. Метод. указ. к лаб. работе.doc
Скачиваний:
61
Добавлен:
08.06.2015
Размер:
130.56 Кб
Скачать

Преобразование информации на машинном уровне

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

В основе арифметических действий над двоичными числами лежат таблицы сложения (табл.2) и умножения (табл.3).

Таблица 2 Таблица 3

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 =10

0 × 0 = 0

0 × 1 = 0

1 × 0 = 0

1 × 1 = 1

Сложение целых чисел

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

В результате получается алгебраическая сумма в прямом коде, если эта сумма положительна (Зн = 0), и в дополнительном коде, если она отрицательна (Зн = 1).

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

Например, при сложении чисел +375 и -756 получится:

0

+

0000001 01110111

11111101 00001100

11111110 10000011

Вычитание целых чисел

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

Например, при вычитании числа -24678 из числа -756 получится:

1

+

1111101 00001100

01100000 01100110

01011101 01110010

Сложение и вычитание действительных чисел

Алгоритм сложения (вычитания) чисел в фпт сводится к следующему:

  1. Осуществляется выравнивание порядков чисел. Порядок меньшего по модулю числа принимается равным порядку бόльшего числа, а мантисса меньшего числа сдвигается вправо на число разрядов, равное разности порядков чисел.

  2. Осуществляется сложение мантисс с применением дополнительных кодов, в результате чего получается мантисса суммы (разности). Если алгебраическая сумма мантисс получается в дополнительном коде, то осуществляется переход к прямому коду.

  3. Порядок результата принимается равным порядку бόльшего числа.

  4. Полученная сумма нормализуется.

Например, необходимо сложить два числа, представленных в коротком формате фпт:

Десятичное число

Представление в коротком формате

Зн

Порядок

Мантисса

-36.48

1

10000100

00100011110101110000101

264.857

0

10000111

00001000110110110110010

Согласно приведенному алгоритму сначала осуществляется выравнивание порядков и восстановление скрытых разрядов (в сумматоре):

Десятичное число

Зн

Порядок

Мантисса

Разр. округл.

-36.48

1

10000111

0.00100100011110101110000

101

264.857

0

10000111

1.00001000110110110110010

Далее выполняется сложение мантисс в дополнительном коде:

Зн

Мантисса

Разр. округл.

1

1.11011011100001010001111

011

0

1.00001000110110110110010

0

0.11100100011000001000001

011

Затем сумма нормализуется:

Зн

Порядок

Мантисса

Разр. округл.

0

10000110

1.11001000110000010000010

11

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

0

10000110

11001000110000010000011