Ср. Апр 24th, 2024

Кодирование целых чисел, имеющих символ, можно выполнить 2-мя методами. В первом варианте один (старший) разряд машинном слове отводится для записи знака числа; при всем этом договорились кодировать символ «+» нулем, символ «-» — единицей. Под запись самого числа, разумеется, остается 15 двоичных разрядов, что обеспечивает наибольшее значение числа Zmax = 215 — 1 = 3276710. Такое представление чисел именуется прямым кодом. Но его применение усложняет порядок обработки чисел; к примеру, операция сложения 2-ух чисел с различными знаками должна быть заменена операцией вычитания наименьшего из большего с следующим присвоением результату знака большего по модулю числа. Другими словами, операция сопровождается огромным количеством проверок критерий и выработкой признаков, в согласовании с которыми выбирается то либо другое действие.

Другим вариантом является представление чисел со знаком в дополнительном коде. Мысль построения дополнительного кода довольно ординарна: на оси целых положительных чисел, помещающихся в машинное слово (0 ÷ 65535), сместим положение «О» на середину интервала; числа, попадающие в первую половину (0 ÷ 32767) будем считать положительными, а числа из 2-ой половины (32768 ÷ 65535) — отрицательными. В данном случае судить о знаке числа можно будет по его величине и в очевидном виде выделение знака не будет нужно. К примеру, 1000000000000012 = 3276910 является кодом отрицательного числа, а 0000000000000012 = 110 — кодом положительного. Принадлежность к интервалу кодов положительных либо отрицательных чисел видна по состоянию старшего бита — у кодов положительных чисел его значение «0», отрицательных — «1». Это припоминает представление со знаком, но не является таким, так как употребляется другой принцип кодировки. Его применение позволяет поменять вычитание чисел их суммированием в дополнительном коде. Убедимся в этом чуток позже после того, как обсудим метод построения дополнительного кода целых чисел.

Дополнением (D) k-разрядного целого числа Z в системе счисления р именуется величина D(ZP, k) = pk — Z. Данную формулу можно представить в ином виде: D(ZP, k) = ((pk — 1) — Z) + 1. Число pk1 согласно (4.8), состоит из k больших в данной системе счисления цифр (р — 1), к примеру, 999910, FFF16 либо 11111112. Потому (pk1) — Z можно получить методом дополнения до р-1 каждой числа числа Z и следующим прибавлением к последнему уровню 1.

От content

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Ads Blocker Image Powered by Code Help Pro

Обнаружен блокировщик рекламы! Пожалуйста, обратите внимание на эту информацию.

We\'ve detected that you are using AdBlock or some other adblocking software which is preventing the page from fully loading.

У нас нет баннеров, флэшей, анимации, отвратительных звуков или всплывающих объявлений. Мы не реализовываем эти типы надоедливых объявлений! Нам нужны деньги для обслуживания сайта, и почти все они приходят от нашей интернет-рекламы.

Пожалуйста, добавьте tehnar.info к вашему белому списку блокирования объявлений или отключите программное обеспечение, блокирующее рекламу.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock