Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Сложение чисел.
В вычислительной технике, благодаря машинным кодам, операция вычитания заменяется операцией сложения с числом обратного знака.
Сложение в обратном коде. Пусть даны два числа А и В. Надо найти их сумму.
Выполним сложение в обратном коде. При этом биты знака участвуют в сложении наравне со значащими разрядами
Ответ:
Теперь сложим два других числа
При сложение в обратном коде единица переноса из старшего (знакового) бита добавляется в младший разряд результата - имеет место, так называемый, циклический перенос. Результат сложения Сложение в дополнительном коде. Выполним сложение тех же чисел
Теперь возьмём другие числа
В дополнительном коде единица переноса из знакового бита отбрасывается. Тогда При сложении обязательно выравнивание разрядов слагаемых нулями (не кодов!). Для отрицательных чисел эти выравнивающие нули превращаются в единицы при инвертировании. Знаки чисел (крайние левые биты кодов) обязательно находятся один под другим. Аналогично складывают и целые числа. Например, сложить в разрядной сетке 1 байт два числа С = А + В, где А= + 9 [А]пр = 0 0 0 0 1 0 0 1 [B]пр = 1 0 0 0 0 1 1 1
[A]доп = 0 0 0 0 1 0 0 1 [В]доп = 1 1 1 1 1 0 0 1 [С]доп = 0 0 0 0 0 0 1 0 [С]пр = 0 0 0 0 0 0 1 0 В результате сложения получилось положительное число, поэтому других преобразований ответ не требует.
|