Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Двоичная нотация с плавающей точкой
Для пояснения принципа, положенного в основу двоичной нотации с плавающей точкой, рассмотрим пример, в котором для хранения числа используется всего один байт. Несмотря на то, что в машинах обычно используются более длинные битовые комбинации, восьмиразрядный формат достаточно наглядно демонстрирует используемые принципы без ненужной избыточности длинных битовых комбинаций. Для начала давайте условимся считать старший бит знаковым. Как и в предыдущих примерах, значение нуль в знаковом бите означает, что представляемое число неотрицательно, а значение единица, наоборот, указывает, что число является отрицательным. Далее разделим оставшиеся биты байта на две группы, или поля, а именно: поле порядка числа и поле мантиссы. Следующие три бита после знакового бита будем считать полем порядка числа, а оставшиеся четыре бита — полем мантиссы. Описанный выше способ разделения байта представлен на рис. 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-03-25; Просмотров: 1008; Нарушение авторского права страницы