| В отличие от методов представления целых чисел, задача представлении числовых значений с дробной частью требует не только сохранения комбинаций из нулей и единиц, образующих его двоичное представление, но и запоминания позиции точки, отделяющей целую часть от дробной. Наиболее распространенный способ решения этой задачи, именуемый двоичной нотацией с плавающей точкой, состоит в экспоненциальном представлении чисел.Для пояснения принципа, положенного в основу двоичной нотации с плавающей точкой, рассмотрим пример, в котором для хранения числа используется всего один байт. Несмотря на то что в машинах обычно используются более длинные битовые комбинации, восьмиразрядный формат достаточно наглядно демонстрирует используемые принципы без ненужной избыточности длинных битовых комбинаций. Для начала давайте условимся считать старший бит знаковым. Как и в предыдущих примерах, значение нуль в знаковом бите означает, что представляемое число неотрицательно, а значение единица, наоборот, указывает, что число является отрицательным. Далее разделим оставшиеся биты байта на две группы, или поля, а именно: поле порядка числа и поле мантиссы. Следующие три бита после знакового бита будем считать полем порядка числа, а оставшиеся четыре бита — полем мантиссы. Попробуем разобраться с назначением отдельных полей на конкретном примере. Пусть байт содержит битовую комбинацию 01101011. При разложении этой комбинации по элементам описанного выше формата оказывается, что знаковый бит равен С. поле порядка числа имеет значение 110. а поле мантиссы — значение 1011. Для расшифровки представленного в этом байте значения, прежде всего, выделим мантиссу и поместим плавающую точку слева от нее. как показано ниже: .1011 Далее выделим значение в поле порядка числи (II") и интерпретируем его как целое трехразрядное число, записанное в двоичной нотации с избытком (см. рис. 1.20). Таким образом, в поле порядка числа закодировано целое число 2. Это означает, что плавающую точку в полученном ранее значении следует переместить на два бита вправо (при отрицательном порядке плавающая точка перемещается влево), после чего будет получен окончательный результат: 10.11 Это значение является двоичным представлением числа 2l/t. Наконец, определяем, что представляемое число является положительным, поскольку знаковый бит имеет .течение 0. Таким образом, мы установили, что битовая комбинация 01101011 в двоичной нотации с плавающей точкой представляет число 23/* Страница: 1 | 2
Дата публикации: 23.10.2014 (просмотров: 4445)Комментарии на сайте: |