![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation каждом разряде становится разность d. Два примера вычитания десятичных и соответствующих им двоичных чисел приведены на рис. 2.2. На рис> нке с помощью стрелок и битов показано, что точно так же, как и при десятичном вычитании, значение явотногоуменьшаемого (minuend) в каждом разряде меняется при взятии заема из старшего разряда. Те же примеры повторены ниже, и к ним добавлены два других примера, а значения битов заема представлены двоичной строкой В: Вычитание очень часто производится в компьютерах при сравнении чисел {comparing numbers). Если, например, при выполнении операции Х-У возникает требование заема из старшего бита, то это означает, что Jf меньше Y; в противном случаев больше или равно Y. В параграфе 5.10 мы рассмотрим соотношение между битами переноса и битами заема в схемах суммирования и вычитания
Можно составить таблицы сложения и вычитания восьмеричных и шестнад-цатеричных чисел и чисел, представленных в системе счисления с любым другим основанием. Однако мало кто из специалистов по вычислительной технике берется их запомнить. Если необходимость оперировать недесятичными числами возникает у вас редко, то проще всего в таких случаях преобразовывать числа в десятичный вид, производить с ними требуемые вычисления и затем осуществлять обратное преобразование. С другой стороны, если вам часто приходится оперировать двоичными, восьмеричными и шестнадцатеричными числами, то вам следует попросить у Деда Мороза ведьмин калькулятор { hex calculator))) фирм Texas Instruments или Casio. (Ифа слов: англ. hex в зависимости от контекста означает ведьма или шестнадцатеричный .-Прим. перев) В случае, когда батарейка в вашем калькуляторе разрядится, можно воспользоваться простыми соображениями, облегчающими вычисления с недесятичными числами. Как правило, при сложении (или вычитании) число в каждом разряде можно преобразовать в десятичный вид, выполнить с ними требуемое действие, а затем результат и значение переноса перевести в соответствующую недесятичную систему счисления. (Перенос возникает всякий раз, когда сумма в данном разряде оказывается равной основанию системы счисления или превосходит его.) Выполняя сложение десятичных чисел, мы пользуемся известными нам правилами суммирования в десятичной системе; новым является только то, что нам нужно научиться осуществлять переход от десятичных чисел к недесятичным и в обратную сторону. Последовательность шагов, выполняемых в уме при сложении шестиадцатеричных чисел {hexadecimal addition), имеет вид: 2.2. Восьмеричные и шестнадцатеричные числа 59
2.5. Представление отрицательных чисел До сих пор мы имели дело только с положительными числами. Существует много способов представления отрицательных чисел. В повседневной практике мы используем систему представления чисел в прямом коде со знаком. Однако в большинстве компьютеров применяется одна из форм представления чисел в виде дополнения, о чем речь пойдет позднее. 2.5.1 Представление чисел в прямом коде со знаком в системе представления чисел в прямом коде со знаком {signed-magmtude system) число состоит из величины и символа, указывающего на то, какой является эта величина: положительной или отрицательной. Именно так мы обычно интерпретируем десятичные числа +98, -57, +123.5 и -13; мы также считаем, что в случае, если символ знака отсутствует, то знак имеет значение + . Существует два возможных представления нуля: +0 и -0 , имеющие одно и то же значение. Применение системы представления чисел в прямом коде со знаком к двоичным числам сводится к добавлению еще одного двоичного разряда, служащего выражением знака {знакового бита, sign bit). По традиции роль знакового бита в двоичной записи ифает старший разряд (О = плюс, 1 = минус), а остальные биты используются для представления величины. Вот несколько 8-разрядных двоичных целых чисел, представленных в прямом коде со знаком, и их десятичные эквиваленты: 0101010l2=+85,Q 1101010l2=-85,Q 0111111l2 = +127,Q 11111 Ill2=-127,Q 000000002 = +0,Q 100000002=-0,Q. В рассматриваемой системе число положительных и отрицательных целых чисел одинаково. Величина целого числа, выраженная п битами, лежит в интервале от-(2 -1) до +(2 -1), и существует два возможных представления нуля. Предположим теперь, что мы хотим собрать цифровую логическую схему сложения чисел в прямом коде со знаком {signed-magnitude adder). В схеме должна производиться проверка знаков слагаемых, для того чтобы определить, что делать с их величинами. Если знаки одинаковые, то нужно сложить величины и результату присвоить тот же самый знак. Если знаки различны, то в схеме должно быть осуществлено сравнение величин, из большей величины должна быть вычтена меньшая и результату должен быть присвоен знак большей величины. Все эти если , сложить , вычесть и сравнить приводят к сложной логической схеме. Сумматоры чисел, представленных в форме дополнения, много проще, как будет показано в дальнейшем. Одно обстоятельство компенсирует, пожалуй, сложность оперирования числами, представленными в прямом коде со знаком: коль скоро мы знаем, как собрать сумматор таких чисел, почти тривиальной оказывается задача построения вычитающего устройства (signed-magnitude subtractor); нужно только изменить знак у вычитаемого {subtrahend) и подать его вместе с уменьшаемым на входы сумматора. 2.5.2. Системы представления чисел в форме дополнения Если при представлении чисел в прямом коде со знаком для изменения знака числа меняется значение знакового разряда, то в системе представления чисел в форме дополнения {complement number system) для этого берется дополнение данного числа по правилам, действующим в пределах этой системы. Взятие дополнения - более сложная процедура, нежели изменение знака, однако два числа, представленные в форме дополнения, можно складывать и вычитать непосредственно, не проверяя их знаки и величины, как это требуется при представлении чисел в прямом коде со знаком. Мы опишем две системы представления чисел в форме дополнения, которые называются точным дополнением ( дополнительным кодом ) и поразрядным дополнением ( обратным кодом ). В любой системе представления чисел в форме дополнения обычно имеют дело с фиксированным числом разрядов, равным, скажем, п. (Однако можно увеличить число разрядов за счет знакового расширения или уменьшить число разрядов путем отбрасывания старших разрядов, как это делается в задачах 2.23 и 2.24 соответственно.) В дальнейшем будем предполагать, что основание системы счисления равно г, а сами числа имеют вид Точка разделения целой и дробной части пусть находится справа, так что числа являются цельЕми. Если в результате выполнения той или иной операции требуется большее, чем п, число разрядов, то избыточные старшие разряды отбрасываются. Если дополнение числа D берется дважды, то результат равен D. 2.5.3. Дополнительный код При точном дополнении {radix-complementsystem) дополнение и-разрядного числа получается путем вычитания его из г . Б случае десятичных чисел точное дополнение носит название дополнения в десятичной системе {10s complement). В табл. 2.4 приведены несколько примеров 4-разрядных десятичных чисел и результат их вычитания из 10000. По определению, точное дополнение и-разрядного числа D есть результат вычитания D из 1. Если D находится между 1 и г -1, то в результате вычитания получим другое число, принадлежащее тому же интервалу значений. Если D = О, то результат вычитания равен г и имеет вид 100 00, где полное число разрядов равно п +1. Отбросим лишний старший разряд и получим 0. Таким образом, в случае точного дополнения существует одно единственное представление нуля. ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |