рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Машинные коды чисел и действия над ними

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

Сущность и назначение машинных кодов. В ЭВМ посредством применения специальных машинных ко­дов все арифметические операции над числами сво­дятся к выполнению операции арифметического сло­жения и сдвигу их кодов вправо или влево. При этом учитываются знаки чисел, автоматически определяют­ся знак результата и признаки возможного перепол­нения разрядной сетки заданных форматов. Приме­няются прямой, обратный и дополнительный коды. Замена операции вычитания на сложение может осу­ществляться с помощью обратного и дополнительного кодов. Сущность этого процесса заключается в том, что вычитаемое В, как отрицательное число, предста­вляется в виде дополнения до некоторой константы К, при которой выполняется условие К-В>0. Обратный и дополнительный коды отличаются выбором значе­ния константы К. Следовательно, операцию С = А-В, где А и В целые положительные числа в любой системе счисления, можно представить в виде:

 

где 10 — основание любой системы счисления.

К = 10n — константа образования дополнительно­го кода;

К == 10n-1 — константа образования обратно­го кода;

п — количество разрядов представления целых чисел в выбранной системе счисления (для дробных чисел п = 0).

Из выражения (1.8) следует, что из полученной суммы нужно исключить добавленную к вычитаемо­му константу.

Рассмотрим примеры действий над числами.

 

25= С.

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

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

Из примеров 1 и 2 следует, что при сложении чи­сел с разными знаками (С и C1) единица переноса из старшего разряда суммы является признаком положи­тельного результата (С), отсутствие переноса (C1) — признаком отрицательного результата, при этом кон­станта образования дополнительного кода не скомпен­сирована и осталась в сумме.

При сложении чисел с одинаковыми знаками при­знаки противоположны: отсутствие переноса едини­цы из старшего разряда при положительных, слагае­мых (С2) является признаком положительного резуль­тата, наличие переноса при отрицательных слагаемых (С3) — признаком отрицательного, при этом одна кон­станта компенсируется переносом, а вторая сохраня­ется в сумме. Эти же признаки в суммах (С2 и С3) ука­зывают на отсутствие переполнения разрядной сетки для записи результатов (результаты имеют 2 десятичных разряда).

Здесь в обоих случаях при сложении чисел с оди­наковыми знаками происходит переполнение разряд­ной сетки, признаками которого являются: наличие переноса из старшего разряда при положительных сла­гаемых (C4) и отсутствие переноса при отрицатель­ных (С3). При получении суммы C5 перенос отсут­ствует, т. е. обе константы 102 остались в полученном результате. Следовательно, результат 76-102 = -24, 24-102 = -124 по модулю больше константы и в от­веденные 2 разряда не умещается.

Рассмотрим образование кодов в двоичной систе­ме счисления на примере А = ±34. Знак числа, как было указано выше, кодируется 0 или 1, записывается перед старшим разрядом и отделяется для наглядности точкой, которая не является частью кода и в разрядной сетке не отражается. Для простоты примем, что задана разрядная сетка в один байт, т. е. 8 двоичных разрядов, из которых один отводится под знак, а 7 для записи

Примем константу для дополнительного кода:

K(10) = 28 = К2. =101000 = 100000000

и константу для обратного кода: K(10) = 28-1 = К2 = -101000=11111111.

В таблице 6 приведены прямой, обратный и допол­нительный коды для чисел А == 34 и А = -34.

Таблица 6

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

2) положительное число в прямом, обратном и допол­нительном кодах имеет одинаковое изображение;

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

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

Определение прямого кода отрицательного числа по его обратному и дополнительному коду произво­дится по тем же правилам.

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

Действия над машинными кодами чисел. А. Дей­ствия над числами, представленными в естественной форме

При сложении кодов чисел в естественной форме следует учитывать следующие положения:

1) числа хранятся в памяти в дополнительном коде;

2) в сумматоре числа складываются вместе со зна­ками, при этом образуется знак результата;

3) при сложении чисел с разными знаками единица переноса из знакового разряда стирается, т. е. компен­сируется одна константа образования дополнительно­го кода;

4) признаками переполнения разрядной сетки при сложении кодов чисел с одинаковыми знаками могут служить:

а) знак суммы не соответствует знакам слагаемых;

б) переносы из старшего разряда суммы в знако­вый и из знакового не согласуются, т. е. один из них присутствует, а другой отсутствует.

Очевидно, что если переносы согласуются, т. е. оба отсутствуют или оба присутствуют, то переполнения разрядной сетки не происходит.

 

Пример 4. Даны два числа: А = 254,5 и B= 175.

Найти сумму чисел при разных знаках слагаемых в 16-ти разрядном формате.

Решение.

а) Представим исходные числа в двоичной системе счисления:

A(10)= 254 ~ A(16)=FE ~ A(2)= 11111110;

B(10)= 175 ~ B(16)=AF ~ B(2)= 10101111.

б) Составим машинные коды этих чисел с разными знаками:

[A]пк= 0.000000011111110;

[B]ПК= 0.000000010101 111.

[-А]дк= 1.111111100000010;

[-B]ДК= 1.111111101010001

в) Выполним действия:

Из примера следует:

1) при получении сумм слагаемых с одинаковыми знаками (C1 и C4) переполнения разрядной сетки не произошло, так как знак суммы соответствует знакам слагаемых и переносы в знаковый и из знакового со­гласуются;

2) при получении сумм С2 и C4 образовался перенос из знакового разряда, который следует исключить;

3) суммы C1 и С2 — положительные, С3 и С4отрицательные, т. е. знаки результатов получены при сложении чисел со знаками.

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

Проверка. Для этого следует перевести получен­ные суммы любым способом в десятичную систему и сравнить с заданием.

Полученные суммы не соответствуют ожидаемым результатам, поскольку произошло переполнение раз­рядной сетки за допустимые значения (32767). Пере­полнение разрядной сетки легко определить либо по первому признаку — знаки сумм C1 и С2 не соответ­ствуют знакам слагаемых, либо по второму—переносы в знаковый и из знакового разряда в суммах С1 и С2 не согласуются. В этих случаях в больших ЭВМ выраба­тывается запрос на прерывание программы, в некото­рых типах малых ЭВМ производится автоматический переход к нормальной форме представления данных.

Замечание. Операции умножения и деления произ­водятся над абсолютными значениями чисел — в пря­мом коде. Знак произведения определяется сложением по модулю 2 знаков сомножителей (0+0== 0,1+0=1, 1+1 =0), знак частного — сложением по модулю 2 знаков делимого и делителя, а знаку остатка присваи­вается знак делимого.

 

– Конец работы –

Эта тема принадлежит разделу:

Системы счисления и кодирования информации

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Машинные коды чисел и действия над ними

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

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

Перевод целых чисел из системы счисления s в систему счисления q
Такие преобразования используются для сокраще­ния записи двоичных чисел, при переводе чисел из де­сятичной системы счисления в двоичную, а также при выполнении некоторых операций в ЭВМ. Це

Перевод дробных чисел из системы счисления s в систему счисления q
Дробная часть числа по схеме Горнера представляется в виде (1.5). Рассуждая по аналогии с переводом целых чисел из одной системы счисления в другую, но используя операцию умножения, формулируем пра

Перевод дробной части числа (по правилам).
  2) Перевод чисел по степенному ряду.

Перевод дробной части числа по степенному раду
  A(2) =0,10101 A(10) = 1*2-1+0*2-2+1*2-3+0*2-4+1*2-5=0,5+0,125+0,03125 =0,65625 A(8)

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

Формы и форматы представления числовых данных в ЭВМ
Каждый разряд двоичного числа (бит) предста­вляется в ЭВМ физическим элементом, обладающим двумя устойчивыми состояниями, одному из которых приписывается значение 0, а другому 1. Совокупность опред

Нормальная форма представления чисел в памяти ЭВМ.
Число можно представить в различной форме записи, например: А = 571,25 = 57125* 10-2 = 0,57125*103 = 0,0057125 • 105.

Особенности представления чисел с плавающей за­пятой в ПЭВМ.
В некоторых мини- и микроЭВМ так­же используется беззнаковый порядок, смещенный на 27 = 128 = 80(16), который меняется в диапазоне 0<=PX <= 255 = FF. В разряд

Б. Действия над числами, представленными в нор­мальной форме
При алгебраическом сложении чисел, предста­вленных в нормальной форме, необходимо учитывать: 1. Числа в нормальной форме хранятся в памяти в прямом коде с нормализованными мантиссами.

Задачи для самостоятельного решения
Коды чисел в формате с фиксированной точкой - Задача. Получить машинные коды двух целых де­сятичных чисел А и В с фиксированной точкой в 16-ти разрядной сетк

Коды чисел в формате с плавающей точкой
Задача. Получить машинные коды двух веществен­ных десятичных чисел А и В с плавающей точкой в 32-х разрядной сетке, используя 2-ю или 16-ю систему счи­сления.

Сложение чисел в формате с фиксированной точкой
Задача. Найти сумму (разность) двух чисел А и В, заданных в виде машинных кодов в формате с фикси­рованной точкой в 16-ти разрядной сетке В качестве ответа записать код суммы ч

Сложение чисел в формате с плавающей точкой
Задача. Найти сумму (разность) двух чисел А и В, заданных в виде машинных кодов в формате с плаваю­щей точкой в 32-х разрядной сетке. В качестве ответа записать код суммы чисел

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги