Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Представление дробей в двоичных кодах
Чтобы иметь возможность работать с дробями в двоичной системе счисления, мы применяем позиционную точку, подобную используемой в десятичных дробях. Цифры слева от точки представляют целую часть числа (мантиссу) и обрабатываются точно так, как целые числа, записанные в двоичной системе. Цифры справа представляют дробную часть и обрабатываются аналогично любым другим битам, за исключением того, что их позициям присвоены дробные весовые значения. Это означает, что первая цифровая позиция справа от точки имеет весовое значение 1/2, следующим позициям присваиваются весовые значения 1/4, 1/8 и т.д. Следует отметить, что описанный механизм является простым расширением изложенного выше правила — каждой цифровой позиции присваивается весовое значение в два раза большее, чем последующей в направлении слева на право. Благодаря тому, что позиционным разрядам присваиваются указанные выше весовые значения, процедура расшифровки двоичного представления с точкой, отделяющей дробную часть от целой, аналогична той, которая применяется к целым числам. Значение в каждом разряде просто умножается на весовое значение, присвоенное его позиции в представлении числа, а затем полученные результаты суммируются. Чтобы пояснить эту процедуру нагляднее, на рис. 1.18 показан пример расшифровки двоичного числа 101.101, десятичное представление которого равно 5 5/8. Рис 1.18 Расшифровка значения двоичного числа 101.101
В отношении операции сложения можно сказать, что для дробных двоичных чисел используются те же методы, что и для десятичных дробей. Таким образом, чтобы сложить два дробных двоичных числа, нужно их просто выровнять по положению точки и после этого применить процедуру сложения, описанную выше.
Представление целых чисел
Математики долгое время занимались цифровыми системами счисления, и многие выдвинутые ими идеи оказались весьма полезными для разработки цифровых электронных схем. В этом разделе мы обсудим две такие системы нотации, а именно двоичный дополнительный код и двоичную нотацию с избытком. Эти системы построены на основе двоичной системы счисления и имеют определенные преимущества, благодаря которым широко используются при конструировании компьютеров. Однако эти преимущества могут обернуться и недостатками. Наша задача — уяснить свойства этих систем и понять, как они влияют на работу компьютеров.
Двоичный дополнительный код
На сегодняшний день наиболее распространенной системой представления целых чисел в компьютерах является двоичный дополнительный код, в котором для представления каждого числа используется фиксированное количество битов. В настоящее время данная система чаще всего реализуется с использованием, для представления любого числа, 32-х двоичных разрядов. Подобное решение позволяет предоставить широкий диапазон целых чисел, однако демонстрация его работы вызывает определенные затруднения. Поэтому при изучении свойств двоичного дополнительного кода мы будем оперировать числами меньшей длины. На рис. 1.19 показаны два варианта дополнительного двоичного кода, в которых для представления чисел используются три и четыре бита соответственно. Построение подобной системы начинается с записи строки нулей, количество которых равно числу используемых двоичных разрядов. Далее ведется обычный двоичный отсчет до тех пор, пока не будет получено значение, состоящее из единственного нуля, за которым следуют лишь единицы. Полученные комбинации будут представлять положительные числа 0, 1, 2, 3, .... Для представления отрицательных чисел выполняется обратный отсчет, начиная со строки из всех единиц соответствующей длины. Обратный счет продолжается до тех пор, пока не будет получена строка, состоящая из одной единицы, за которой будут следовать все нули. Полученные комбинации будут представлять числа -1, -2, -3, .... (Если вам покажется трудным вести обратный отсчет в двоичной системе счисления, можно отсчитывать комбинации в обратном порядке, начиная со строки с одной единицей и всеми нулями и заканчивая строкой, состоящей из одних единиц.) Обратите внимание, что в дополнительном двоичном коде крайний левый бит в значении каждого числа определяет знак представляемой числовой величины, поэтому этот бит принято называть знаковым разрядом. В этой нотации отрицательные числа представляются комбинациями со знаковым битом, равным 1, а положительные числа — комбинациями со знаковым битом, равным 0. В двоичном дополнительном коде очень удобно представлена взаимосвязь между комбинациями битов, представляющими положительные и отрицательные значения, одинаковые по модулю. Последовательность битов оказывается идентичной при чтении справа налево до первой единицы включительно. С этой позиции и далее коды являются дополнительными друг другу. (Дополнением двоичной комбинации называется такая комбинация, которая получается в результате изменения всех нулей в исходном значении на единицы, а всех единиц на нули. Например, двоичные комбинации 0110 и 1001 являются дополнительными друг другу.) Например, в четырехразрядном коде (рис. 1.19) обе битовые комбинации, представляющие числа 2 и -2, заканчиваются на 10, однако комбинация, представляющая число 2, начинается с 00, тогда как комбинация, представляющая число -2, начинается с 11. Данное наблюдение позволяет сформулировать алгоритм взаимного преобразования битовых комбинаций, представляющих положительные и отрицательные числа, имеющие одно и то же значение по модулю. Достаточно просто копировать исходную комбинацию справа налево до тех пор, пока не будет встречена единица, а затем последовательно заменять значения оставшихся битов их дополнениями (рис. 1.20). Рис 1.19 Схемы кодирования в двоичном дополнительном коде
Ясное понимание описанных выше основных свойств двоичного дополнительного кода позволяет также сформулировать алгоритм преобразования значений этого кода в десятичное представление. Если битовая комбинация имеет нулевой знаковый бит, то это значение рассматривается просто как обычное двоичное число. Например, битовая комбинация 0110 представляет число 6, поскольку комбинация битов 110 является двоичным представлением числа 6. Если битовая комбинация содержит знаковый бит, равный единице, то она представляет отрицательное число, и нам остается лишь определить абсолютную величину этого числа. Это выполняется посредством записи исходной комбинации справа налево, вплоть до первой встретившейся единицы, после чего для оставшихся битов, в порядке их следования, записываются дополнительные значения. Полученная комбинация битов дешифруется как обычное двоичное число. Например, чтобы определить десятичное значение комбинации 1010, мы, прежде всего, отмечаем, что это значение является отрицательным, так как исходная комбинация содержит единицу в знаковом бите. Затем исходная комбинация преобразуется в комбинацию 0110, которая представляет собой двоичное число 6. Теперь можно сделать окончательное заключение, что исходная двоичная комбинация представляет число -6. Рис 1.20 Представление числа -6 в четырехразрядном дополнительном коде
Популярное:
|
Последнее изменение этой страницы: 2016-03-25; Просмотров: 931; Нарушение авторского права страницы