Двоичная нотация с плавающей точкой



Мы поможем в написании ваших работ!


Мы поможем в написании ваших работ!



Мы поможем в написании ваших работ!


ЗНАЕТЕ ЛИ ВЫ?

Двоичная нотация с плавающей точкой



 

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

Для начала давайте условимся считать старший бит знаковым. Как и в предыду­щих примерах, значение нуль в знаковом бите означает, что представляемое число неотрицательно, а значение единица, наоборот, указывает, что число является отри­цательным. Далее разделим оставшиеся биты байта на две группы, или поля, а именно: поле порядка числа и поле мантиссы. Следующие три бита после знакового бита будем считать полем порядка числа, а оставшиеся четыре бита — полем ман­тиссы. Описанный выше способ разделения байта представлен на рис. 1.24.

Рис 1.24

 

Попробуем разобраться с назначением отдельных полей на конкретном примере. Пусть байт содержит битовую комбинацию 01101011. При разложении этой комби­нации по элементам описанного выше формата оказывается, что знаковый бит ра­вен 0, поле порядка числа имеет значение 110, а поле мантиссы — значение 1011. Для расшифровки представленного в этом байте значения, прежде всего, выделим мантиссу и поместим плавающую точку слева от нее, как показано ниже:

.1011

Далее выделим значение в поле порядка числа (110) и интерпретируем его как целое трехразрядное число, записанное в двоичной нотации с избытком (см. рис. 1.20). Таким образом, в поле порядка числа закодировано целое число 2. Это означает, что плавающую точку в полученном ранее значении следует пере­местить на два бита вправо (при отрицательном порядке плавающая точка пере­мещается влево), после чего будет получен окончательный результат:

10.11

Это значение является двоичным представлением числа 2 3/4. Наконец, определя­ем, что представляемое число является положительным, поскольку знаковый бит имеет значение 0. Таким образом, мы установили, что битовая комбинация 01101011 в двоичной нотации с плавающей точкой представляет число 2 3/4.

Рассмотрим еще один пример, в котором байт содержит битовую комбинацию 10111100. Выделив мантиссу, получим следующее значение:

.1100

Теперь перенесем плавающую точку на один бит влево, так как в поле поряд­ка содержится значение 011, представляющее число -1. Поэтому окончательный вид закодированного двоичного числа будет следующим:

0.01100

Это двоичное число имеет значение 3/8. Закодированное в значении байта число является отрицательным, поскольку его знаковый бит равен 1. Из этого следует, что битовая комбинация 10111100 в двоичной нотации с плавающей точкой представляет число -3/8.

Для представления чисел в двоичной нотации с плавающей точкой необходи­мо следовать описанному выше процессу, но уже в обратном порядке. Например, для определения представления в этой нотации числа 1 1/8 сначала необходимо записать его двоичное представление: 1.001. Затем эта битовая комбинация ко­пируется в поле мантиссы слева направо, начиная с самой левой единицы в дво­ичном представлении числа. Это будет выглядеть так:

_ _ _ _ 1001

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

0 101 1 001

При заполнении поля мантиссы имеется один тонкий момент, на который вы могли не обратить внимание. Правило требует копировать битовую комбинацию двоичного представления числа в поле мантиссы слева направо, начиная с край­ней левой единицы. Чтобы прояснить для себя этот нюанс, рассмотрим процесс кодирования числа 3/8, двоичным представлением которого является битовая комбинация .011. В этом случае мантисса должна иметь следующее значение:

_ _ _ _ 1100

Любой другой вариант, например представленный ниже, недопустим:

_ _ _ _ 0110

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

 

 

ОБРАБОТКА ДАННЫХ

 

Центральный процессор

 

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

 

Регистры

 

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

Регистры общего назначения используются для временного хранения данных, обрабатываемых в ЦП. В них сохраняются входные данные для схем арифмети­ко-логического блока. Кроме того, эти регистры используются для размещения результатов, полученных при выполнении операций. Для обработки информа­ции, сохраняемой в основной памяти машины, блок управления должен органи­зовать передачу данных из памяти в регистры общего назначения, а также ука­зать арифметико-логическому блоку, в каких регистрах содержатся необходи­мые входные данные, активизировать соответствующие электронные цепи в этом блоке, а также указать арифметико-логическому блоку тот регистр, в который должен быть помещен результат.

 



Последнее изменение этой страницы: 2016-04-21; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.236.124.56 (0.021 с.)