- •2. Позиционные системы счисления. Двоичная система счисления.
- •3. Перевод чисел из десятичной в двоичную систему счисления.
- •5. Прямой код
- •6. Обратный код
- •7. Дополнительный код
- •8. Арифметические действия над двоичными числами со знаком. Переполнение. Расширение знаком.
- •9. Формат чисел с плавающей запятой (пз)
- •10. Стандарт ieee 754 представления чисел с пз
- •11. Особые значения чисел с плавающей точкой
- •13. Алгебра логики. Логические переменные. Логические операции. Таблица истинности
- •14. Формы представление логических функций. Сднф. Скнф
- •15. Логические элементы
- •16.Синтез комбинационных схем на основе логических выражений
- •17. Минимизация логических функций. Метод карт Карно
- •18. Комбинационные узлы эвм. Полусумматор. Полный одноразрядный сумматор
- •20. Комбинационные узлы эвм. Компаратор
- •21. Комбинационные узлы эвм. Дешифратор
- •22. Шифратор
- •23. Мультиплексоры
- •24. Реализация логических функций с использованием мультиплексора
- •25. Триггеры. Rs-триггер (latch)
- •28. Последовательностные схемы. Регистры
- •29. Последовательностные схемы. Делители частоты. Счетчики
- •32. Структура плис типа fpga
- •33. Язык описания цифровых устройств vhdl. Основные сведения
- •34. Язык описания цифровых устройств vhdl. Структурное и поведенческое описание проекта на языке vhdl
- •35. Запоминающие устройства. Иерархическая организация памяти
- •37. Арифметический сопроцессор fpu (Intel 8087)
8. Арифметические действия над двоичными числами со знаком. Переполнение. Расширение знаком.
Операция сложения:
В дополнительном коде знаковый разряд участвует в операции сложения наравне с значащими разрядами.
Переполнение:
Переполнение происходит в том случае, когда результат сложения требует для представления больше бит, чем исходные числа.
Переполнение может возникнуть в двух случаях:
Когда складываются два положительных числа
Когда складываются два отрицательных числа
Формальные признаки переполнения:
Переполнение возникает, когда есть перенос в знаковый разряд, а из знакового разряда нет переноса.
Переполнение возникает, когда есть перенос из знакового разряда, а в знаковый разряд нет переноса.
Расширение знака:
Операция расширения знака выполняется в случае, когда необходимо увеличить число бит двоичного числа, записанного в дополнительном коде. При расширении знака к числу слева добавляют нужное количество бит, в которое копируется значение знакового разряда.
В процессорах INTEL сущ. Следующие команды расширения знаков:
CBW – convert byte to word (al →ax)
CWD – convert word to doubleword (ax → dx:ax)
CDQ – convert doubleword to quaterword (eax → edx:eax)
В результате расширения знака значение числа не изменяется.
Операция вычитания
Для вычитания одного числа (вычитаемого) из другого числа (уменьшаемого) необходимо взять дополнение вычитаемого и прибавить его к уменьшаемому.
Под дополнением понимается вычитаемое, взятое с противоположным знаком и представленное в дополнительном коде.
9. Формат чисел с плавающей запятой (пз)
Плавающая запятая — форма представления действительных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто используемое представление утверждено в стандарте IEEE 754.
Структура числа. Число с плавающей запятой состоит из:
М антиссы (выражающей значение числа без учёта порядка)
Знака мантиссы (указывающего на отрицательность или положительность числа)
Порядка (выражающего степень основания числа, на которое умножается мантисса)
Знака порядка
Нормальная форма и нормализованная форма
Нормальной формой числа с плавающей запятой называется такая форма, в которой мантисса (без учёта знака) находится на полуинтервале [0; 1). Число с плавающей запятой, находящееся не в нормальной форме, теряет точность по сравнению с нормальной формой. Такая форма записи имеет недостаток: некоторые числа записываются неоднозначно (например, 0,0001 можно записать в 4 формах — 0,0001×100, 0,001×10−1, 0,01×10−2, 0,1×10−3), поэтому распространена (особенно в информатике) также другая форма записи —
нормализованная, в которой мантисса десятичного числа принимает значения от 1 (включительно) до 10 (не включительно), а мантисса двоичного числа принимает значения от 1 (включительно) до 2 (не включительно). В такой форме любое число (кроме 0) записывается единственным образом.
Недостаток заключается в том, что в таком виде невозможно представить 0, поэтому представление чисел в информатике предусматривает специальный признак (бит) для числа 0.
Плюсы – при таком расположении запятой мы никогда не храним лишних нулей, в результате в фиксированную по размеру мантиссу влезает максимум значащих разрядов. Другое дело, что нам может не хватить места для показателя степени: 0,0089 * 10-8 = 8,900 * 10-11 (потребовалось два разряда).
Так как старший разряд (целая часть числа) мантиссы двоичного числа (кроме 0) в нормализованном виде равен «1», то при записи мантиссы числа в эвм старший разряд можно не записывать, что и используется в стандарте IEEE 754. В позиционных системах счисления с основанием большим, чем 2 (в троичной, четверичной и др.), этого свойства нет.
Согласно существующим стандартам на форматы, числа с плавающей запятой хранятся в нормализованном виде практически всегда.
Традиционное исключение – слишком маленькие по модулю числа. Например, если минимальный показатель степени -9 то, если формат позволяет, 8,900 * 10-11 будет записано как 0,089 * 10-9. Но эта ситуация рассматривается именно как исключение.