Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИЯ 2.pdf
Скачиваний:
10
Добавлен:
09.04.2015
Размер:
742.88 Кб
Скачать

Целые числа со знаком

Для хранения целых чисел со знаком отводится один, два или три байта, причем старший (левый) разряд

отводится под знак числа

Если число положительное, то в знаковый разряд

записывается 0, если отрицательное, то 1

Такое представление называется прямым кодом числа

Пример: Прямой код числа -5 в однобайтовом формате:

-510 = 1 0000 101

Диапазоны изменения целых чисел со знаком:

1

байт:

- 27 …+27 - 1

-128

10

…127

 

2

байта:

- 215 …+215 -1

 

 

10

 

- 32768

…+32767

10

4

байта:

- 231…+231–1

-2 147

 

10

 

483 648 …2 147 483 647

Прямой и дополнительный коды

Для того, чтобы реализовать в ЭВМ операцию

вычитания отрицательные числа преобразуют в

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

Дополнительный код n-разрядного отрицательного числа Аq, равен qn - |A|

Пример из десятичной арифметики: X=8410, Y= -3210. Вычислить Z = X + Y = 5210

Найдем дополнение числа Y до 100:

Y1 = 102 - | Y | = 68

(дополнительный код в десятичной системе)

Вычислим Z1 = X+Y1 = 84 + 68 = 152

Отбросим единицу в старшем разряде: Z=52

Прямой/дополнительный коды

Дополнительный код отрицательного числа:

Отбросить знаковый разряд (т.е. взять модуль)

Все разряды инвертировать

К результату прибавить 1

Обратное преобразование в прямой код:

Из результата вычесть 1

Все разряды инвертировать

ПРИМЕР

Дополнительный код отрицательное число -7

Прямой код числа 7 = | -7| : 0 000 0111

Инвертируем :

1 111 1000

Добавим к результату 1:

1 111 1001

Дополнительный код отрицательного числа -7

равен 1 111 1001

Вычислим 510 – 710 = -210

Для этого к прямому коду числа 5 надо прибавить дополнительный код числа -7

Результат перевести в прямой код

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]