Правила сложения двоичных чисел в дополнительном коде
416.00K
Категория: ИнформатикаИнформатика

Лекция 4 - Представление данных

1.

Представление данных
Елена Андреевна Салтанаева

2.

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

3.

Машинные коды
Для упрощения арифметических операций
числа записывают­ся в специальной форме,
называемой машинными кодами. Эти коды
позволяют:
свести операцию вычитания к операции
сложения;
автоматически получать знак суммы
(разности);
выявлять переполнение разрядной сетки.

4.

Машинные коды
Существуют следующие коды:
прямой (ПК);
обратный (ОК);
дополнительный (ДК).
Прямой код используется для представления положительных и
отрицательных чисел в запоминающем устройстве компьютера.
Обратный и дополнительный коды используются для замены
операции вычитания операцией сложения, что упрощает
устройство арифметического блока ЭВМ.

5. Правила сложения двоичных чисел в дополнительном коде

■ При алгебраическом сложении двоичных чисел
положительные слагаемые представляются в
прямом коде, а отрицательные ­в дополнительном
коде
■ Производят арифметическое суммирование этих
кодов, включая разряды знаков, которые при этом
рассматриваются как старшие разряды.
■ При возникновении переполнения результата (не
хватает разрядности) - в процессе операции
получается единица переноса в знаковом разряде,
которая автоматически отбрасывается, поскольку
выходит за границу разрядной сетки.
■ В результате получают алгебраическую сумму в
прямом коде, если эта сумма положительная, и в
дополнительном коде, ­если сумма отрицательная
(результат необходимо перевести в прямой код).

6.

Пример переполнения
Например, в десятичной системе требуется найти разность 842-623.
Представим число 623 в дополнительный вид, отняв его от 1000.
Получим число 377.
Затем найдём сумму: 842+377=1219.
Отбросим перенос в старший разряд и получим число 219.

7.

Пример переполнения
Также переполнение можно
определить по двум последним
переносам, включая перенос за старший разряд. При этом если переносы
11 или 00, то переполнения не было, а если 01 или 10, то было. При этом,
если переполнения не было, то выход за разряды можно игнорировать.
Пример
-7+7=0
00111 прямой код 7
01001 дополнительный код 7
11110 переносы
10000 результат 16 - но пятый разряд можно
игнорировать, реальный результат 0
Два последних переноса 11 - перенос в пятый
разряд можно отбросить, оставшийся результат,
ноль, арифметически корректен
Пример
7+1=8
00111 прямой код 7
00001 прямой код 1
01110 переносы
01000 результат 8 – переполнение
Два последних переноса 01 – переполнение

8.

Форма представления чисел с фиксированной точкой
Если в компьютере для всех чисел положение точки зафиксировано
справа от младшего цифрового разряда, то числа принимают только целые
значения.
(п + 1)-разрядное целое число.
Один разряд занимает знак, остальные п разрядов используются как
цифровые.
Веса цифровых разрядов показаны в верхней части рисунка.
В этом случае в компьютере могут быть представлены числа, модуль
которых находится в диапазоне 2 0 A 2 n 1
При этом точность представления чисел равна единице, так как числа могут
быть только целыми.

9.

Форма представления чисел с фиксированной точкой
Если точка зафиксирована слева от старшего цифрового разряда, то все
числа могут быть только дробными.
Дробные числа с фиксированной точкой, имеющие п цифровых разрядов,
представляются с точностью Тп (величина единицы младшего разряда дроби)
в диапазоне 2 n A 1 2 n

10.

Форма представления чисел с фиксированной точкой
Пример 1
0,0001 можно записать в 4 формах —
0,0001·100, 0,001·10−1, 0,01·10−2, 0,1·10−3
Пример 2
12.345 0.0012345 10 4 1234.5 10 2 0.12345 10 2
В памяти компьютера мантисса представляется как целое число, содержащее
только значащие цифры (0 целых и запятая не хранятся), так для числа
12.345 в ячейке памяти, отведенной для хранения мантиссы, будет
сохранено число 12345. Для однозначного восстановления исходного числа
сохраняется только его порядок, в данном примере – это 2.
English     Русский Правила