Сложение чисел в обратном и дополнительном кодах

Содержание

Слайд 2

Сложение чисел в обратном и дополнительном кодах операцию алгебраического сложения можно

Сложение чисел в обратном и дополнительном кодах

операцию алгебраического сложения можно свести

к арифметическому сложению кодов чисел, включая разряды знаков, которые рассматриваются как старшие разряды
При сложении чисел в дополнительном коде возникающая единица переноса в знаковом разряде отбрасывается.
При сложении чисел в обратном коде возникающая единица переноса в знаковом разряде прибавляется к младшему разряду суммы кодов. Такой перенос называется круговым или циклическим.
Слайд 3

Пример 1 X= 111, Y= –11. Найти X + Y в

Пример 1

X= 111, Y= –11. Найти X + Y в обратном

и дополнительном кодах и сделать проверку, пользуясь правилами двоичной арифметики.
1) по правилами двоичной арифметики:
2) используя коды:
Слайд 4

Пример 2 X = –101, Y = –110, X + Y

Пример 2

X = –101, Y = –110, X + Y =

?
1) по правилами двоичной арифметики:
2) используя коды
(X+Y)обр = 1,1110100 → (X+Y)пр = 1,0001011
(X+Y)доп = 1,1110101 → (X+Y)пр = 1,0001010 + 1 = 1,0001011
Слайд 5

Модифицированные обратный и дополнительный коды Перевести в двоичный код и сложить

Модифицированные обратный и дополнительный коды

Перевести в двоичный код и сложить

X=5616 Y=6816
Под знак числа отводится два разряда:
"00" соответствует знаку "+",
"11" соответствует знаку "–".
"01" или "10“ признак переполнения разрядной сетки
Слайд 6

Пример X=101001, Y= –11010. Сложить в модифицированном дополнительном коде. Проверить с

Пример

X=101001, Y= –11010. Сложить в модифицированном дополнительном коде. Проверить с помощью

перевода чисел в 10с/с

Проверка:
41 + (–26) = 15

Слайд 7

Упражнения 2 Сложить X и Y в обратном и дополнительном кодах.

Упражнения 2

Сложить X и Y в обратном и дополнительном кодах. Результат

перевести в прямой код. Проверить, пользуясь правилами двоичной арифметики.
X= -11010,    Y= 1001111
X= -11101,    Y= -100110
Сложить X и Y в модифицированном обратном и модифицированном дополнительном восьмиразрядных кодах. Результат перевести в прямой код и проверить, пользуясь правилами двоичной арифметики.
X= 10110, Y= 110101
Слайд 8

Формы представления чисел в ЭВМ Представление целых чисел 1. Числа с

Формы представления чисел в ЭВМ

Представление целых чисел
1. Числа с фиксированной точкой
2.

Символьный способ представления
3. Двоично-десятичный способ
Представление вещественных чисел
1. Числа с фиксированной точкой
2. Числа с плавающей точкой
Слайд 9

Представление целых чисел 1. Числа с фиксированной точкой Диапазон представляемых чисел

Представление целых чисел

1. Числа с фиксированной точкой
Диапазон представляемых чисел
n разрядов:

–2n–1 .. +2n–1–1
n=8 –128 .. 127
n=16 –32 768 .. 32 767
Диапазон беззнаковых чисел
0 .. 2n–1
Слайд 10

Исключительная ситуация FixedOverflow – переполнение с фиксированной запятой – результат операции

Исключительная ситуация
FixedOverflow – переполнение с фиксированной запятой – результат операции превышает

максимально возможное для данной разрядной сетки значение
устанавливается в "1" флаг переполнения
старший бит результата теряется
в качестве результата выдается искаженное число.
ситуация не считается критической, и после окончания данной операции вычисления продолжаются.
Слайд 11

2. Символьный способ представления число 397 = 3. Двоично-десятичный код 39710

2. Символьный способ представления
число 397 =
3. Двоично-десятичный код
39710 = 0011 1001

0111

Код 3

Код 9

Код 7

Слайд 12

Представление вещественных чисел 1. Числа с фиксированной точкой Достоинства простота выполнения

Представление вещественных чисел

1. Числа с фиксированной точкой
Достоинства
простота выполнения арифметических операций
высокая

точность изображения чисел
Недостаток
небольшой диапазон представления чисел
Слайд 13

2. Числа с плавающей точкой Форма записи числа: N = ±

2. Числа с плавающей точкой
Форма записи числа:
     N = ± m q

± p
где
q – основание системы счисления,  
p – порядок числа,
m – мантисса числа N.
Пример.      
12510 = 12.5 ⋅ 101 = 1.25 ⋅ 102 = 0.125 ⋅ 103 = 0.0125 ⋅ 104 = ...
Нормализованная форма записи числа: 1/q ≤ | m | < 1.
Слайд 14

а) представление чисел в формате полуслова б) представление чисел в формате слова

а) представление чисел в формате полуслова

б) представление чисел в формате слова

Слайд 15

Пример. Число А = –3.510 = –11.12 = –0.111·1010

Пример.
Число А = –3.510 = –11.12 = –0.111·1010

Слайд 16

Числа в формате слова Максимальное A=(0.1111...1·101111111)2 ≈(1·2127)10. Минимальное А=(–0.1111...1·101111111)2 ≈(–1·2127)10. Минимальное

Числа в формате слова

Максимальное A=(0.1111...1·101111111)2 ≈(1·2127)10.

Минимальное А=(–0.1111...1·101111111)2 ≈(–1·2127)10.

Минимальное по модулю, отличное

от нуля и нормализованное


Слайд 17

Диапазон чисел определяется главным образом разрядностью порядка, а точность числа –

Диапазон чисел определяется главным образом разрядностью порядка, а точность числа –

только разрядностью мантиссы.
Таким образом, числа с плавающей точкой позволяют увеличить диапазон обрабатываемых чисел, но при этом точность изображения чисел уменьшается по сравнению с числами с фиксированной точкой.
Пример.
Пусть имеем число 0,1242⋅1012 в 10 с/с.
Мантисса имеет 4 разряда.
Тогда ближайшее большее этого числа равно 0,1243⋅1012.
Абсолютная погрешность 1⋅108.
Слайд 18

Пример. Даны X=13,45 и Y=13,45⋅10-5 в десятичной системы счисления в форме

Пример. Даны X=13,45 и Y=13,45⋅10-5
в десятичной системы счисления
в форме

чисел с плавающей запятой
разрядность мантиссы = 4, порядок = 2
Вычислить X – Y.
Запишем числа Х и Y в форме с плавающей запятой: X: + + 02 1345
Y: + – 03 1345
Оба числа представлены в форме с плавающей запятой без искажения. X≠0, Y≠0
Выполним вычитание
X: 1 3 , 4 5 Y: 0 , 0 0 1 3 4 5
X–Y: 1 3 , 4 4 8 6 5 5
Округлим результат, учитывая, разрядность мантиссы
X–Y: + + 02 1345
Вывод. При вычитании двух чисел большое значение имеют соотношение их величин и разрядность мантисс, используемая для их кодирования.
Например, цикл
While (X–Y)>0.01 do оператор
может оказаться бесконечным.
Слайд 19

Ошибки и исключительные ситуации 1. Overflow - переполнение с плавающей запятой

Ошибки и исключительные ситуации

1. Overflow - переполнение с плавающей запятой -

в результате операции возникает число, имеющее порядок с большей разрядностью, чем допустимая при представлении порядка в машине
аппаратное прерывание работы
2. Появление машинных нулей – нормализованных чисел ≠0, но имеющих порядок, меньший самого малого порядка, представимого в разрядной сетке
выполнение программы после этого продолжается
3. Ошибка метода представления чисел – количество разрядов мантиссы больше количества, выделенного для ее представления в разрядной сетке ЭВМ
избыточные младшие разряды отбрасываются
Слайд 20

Арифметические действия над числами с плавающей точкой Сложение Умножение Деление

Арифметические действия над числами с плавающей точкой

Сложение
Умножение
Деление

Слайд 21

Сложение 1. Уравнивание порядков 2. Сложение мантисс в одном из модифицированных

Сложение

1. Уравнивание порядков
2. Сложение мантисс в одном из модифицированных кодов
3. Нормализация

результата
Пример.
Представить числа X=910 и Y=–3710 в виде нормализованных двоичных чисел с плавающей точкой и сложить.
Слайд 22

Умножение 1. Умножение мантисс в прямом коде. 2. Сложение порядков. 3.

Умножение

1. Умножение мантисс в прямом коде.
2. Сложение порядков.
3. Определение знака

числа (логическая операция исключающее или)
Пример.
Представить числа X=510 и Y=–0,37510 в виде нормализованных двоичных чисел с плавающей точкой и перемножить.
Слайд 23

Деление Пример. Представить числа X=2010 и Y=0,2510 в виде нормализованных двоичных

Деление

Пример.
Представить числа X=2010 и Y=0,2510 в виде нормализованных двоичных чисел с

плавающей точкой и вычислить X / Y.