Понедельник, 15.06.2026
Шпаргалка :)
Меню сайта
Категории раздела
Мои статьи [172]
Наш опрос
Оцените мой сайт
Всего ответов: 259
Форма входа
Главная » Статьи » Мои статьи

14. Прямой, дополнительный и обратный коды представления отрицательных чисел и операции с ними.

Прямой код:

<знак><цифровые разряды>  +0   -1, т е 1,11=-0,11

[x]пр код=  |x|,x>0                                    x+min=0,00…0;          x-min=1,11…1=- (1-2-n);

               1+|x|,x<0.                             x+max=0,1…1=1-2-n;   x-max=1,00…0=0;

Дополнительный код:

код, в котором для положительного числа в знаковом разряде 0,в цифровых числа по модулю.

[x] доп код= |x+|=x, x>0                      х+min=0,00…0;                x-min=1,11…1=2-2-n

               10-|x-|,x<0.                         x+max=0,1…1=1-2-n;        x-max=1,00…0;

Некоторое отриц число х=-0,х1х2х3….хn

[x]=1,z1z2z3zn ,где 1-0,х1х2х3….хn=0, z1z2z3zn

Чтобы перейти к доп коду нужно инвертировать все разряды,поставить в знаковый разряд 1 и добавить младший разряд. Возникающие переносы теряются и не влияют на результат.

[x] доп код=10 -|x-|=1+1-|x-|=1+0,1…1+0,0…1-|x-|=1 +(0.1..1-|x-|)+0,0..1

Обратный код:

Код в котором для положительного числа в знаковом разряде-0,в цифровом модуль числа. Для отрицательного в знаковом-1 и в цифровом инвертированный модуль числа.

[x] обр код=  |x+|=x, x>0                                 х+min=0,00…0;           x-min=1,11…10=2-2-n+1

                1+(1-10-n) +|x-|,x<0.                    x+max=0,1…1=1-2-n;    x-max=1,00…0=1;

Отрицательный нуль 1,1…1

Перенос дополняется циклически в младший разряд.

Когда складываем 2 числа одного знака  и знак результата другой, возникает переполнение.

1 способ писать что результат-доп код настоящего результата

2способ модифицированный дополнительный и обратный код – фиксирование переполнения.

[x]мдк=   x,x>0                                [x]мок=   x,x>0

            100+х, x<0                                    100-10-n +x,x<0.      

2 типа переполнения:положительное: «01» и отрицательное «10»     

Умножение чисел с старших разрядов в прямом коде.

Алгоритм:1)множимое сдвигается на один разряд2)анализ цифры многочлена:0-частичное произведение не суммируется;1-добавляется частичное произведение к общему результату 3)1 и 2 выполняется n раз4)знак получается независимо от цифровой части.

Для точного результата надо иметь сетку,где число разрядов=сумме чисел разрядов.

Если нужен результат с точностью до 2-n необходимо дополнить разряды  d=log2n

Умножение с младших разрядов в прямом коде.

Алгоритм:1)анализ младшей цифры:1-учавствует в формировании произведения 0- не учавствует.2)произведение сдвигается на один разряд вправо.3)1 и 2 до старшего разряда.

Точность <2-n n разрядная сетка.
Категория: Мои статьи | Добавил: Eskander (01.06.2010)
Просмотров: 991 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2026
    Бесплатный конструктор сайтовuCoz