Читайте также:
|
|
Чаще всего для представления отрицательных чисел используется код с дополнением до двух (англ. Two's complement).
Алгоритм получения дополнительного кода числа:
· если число неотрицательное, то в старший разряд записывается ноль, далее записывается само число;
· если число отрицательное, то все биты модуля числа инвертируются, то есть все единицы меняются на нули, а нули — на единицы, к инвертированному числу прибавляется единица, далее к результату дописывается знаковый разряд, равный единице.
Также дополнительный код отрицательного числа А, хранящегося в n битах, равен . По сути, дополнительный код представляет собой дополнение до 0: так как в n-разрядной арифметике (двоичная запись этого числа состоит из единицы и n- нулей, а в n-разрядную ячейку помещаются только n младших разрядов, то есть n нулей), то верно равенство .
Достоинства метода:
· возможность заменить арифметическую операцию вычитания операцией сложения и сделать операции сложения одинаковыми для знаковых и беззнаковых типов данных, что существенно упрощает архитектуру процессора и увеличивает его быстродействие;
· нет проблемы двух нулей.
Недостатки:
· ряд положительных и отрицательных чисел несимметричен, но это не так важно: с помощью дополнительного кода выполнены гораздо более важные вещи, желаемые от способа представления целых чисел.
· в отличие от сложения, числа в дополнительном коде нельзя сравнивать как беззнаковые, или вычитать без расширения разрядности.
7. Представление в компьютере вещественных чисел
Для представления вещественных чисел в памяти компьютера часть разрядов отводится для записи порядка числа, а остальные – для записи мантиссы. Если это число со знаком, то старший бит отводится для знака. Но в этом формате есть один подводный камень – знак может иметь не только число, но и порядок числа также может иметь знак (то есть степень дроби может быть как положительной, так и отрицательной). Чтобы не хранить знак порядка, был придуман смещённый порядок.
Если для задания порядка выделено k разрядов, то к истинному значению порядка прибавляют смещение, таким образом, смещённый порядок определяется по формуле:
СП = ИП + 2k-1 – 1
где СП – смещённый порядок, ИП – истинный порядок, k – количество разрядов, выделенных для порядка
Например, истинный порядок, лежащий в диапазоне –127…+128 представляется смещённым порядком, значения которого меняются в диапазоне 0…255.
То есть при ИП = -127:
СП = -127 + 28-1 - 1 = -127 + 128 - 1 = 0
При ИП = 128:
СП = 128 = 128 + 28-1 – 1 = 128 + 128 - 1 = 255
Для представления числа в диапазоне 0…255 требуется 1 байт (8 разрядов), то есть k = 8.
Дата добавления: 2015-07-14; просмотров: 302 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Код со сдвигом. | | | Алгоритм представления вещественного числа в памяти компьютера |