Конспект лекций по предмету "Кибернетика"


Выполнение арифметических операций в компьютере

Правила выполнения арифметических операций в двоичной системе счисления аналогичны правилам операций в десятичной системе счисления.
Например:
Сложение

+

Вычитание



Результат

Результат

Умножение

× 101



Деление

/101




Результат (произведение)

Результат (частное)

Особенности выполнения операций над числами с плавающей запятой
При сложении (вычитании) чисел с плавающей запятой и одинаковыми порядками следует сложить (вычесть) мантиссы и результату присваивается порядок, общий для исходных чисел. Если порядки исходных чисел разные, то сначала эти порядки выравниваются (число с меньшим порядком приводится к числу с большим порядком), затем выполняется операция сложения (вычитания) мантисс. Если при выполнении операции сложения мантисс возникает переполнение, то сумма мантисс сдвигается вправо на один разряд, а порядок суммы увеличивается на 1. При умножении чисел с плавающей запятой их мантиссы перемножаются, а порядки складываются. При делении чисел с плавающей запятой мантисса делимого делится на мантиссу делителя, а для получения порядка частного из порядка делимого вычитается порядок делителя. При этом если мантисса делимого больше мантиссы делителя, то мантисса частного окажется больше 1 (происходит переполнение) и ее следует сдвинуть на один разряд вправо, одновременно увеличив на единицу порядок частного.
Выполнение арифметических операций над числами, представленными в дополнительных кодах
При выполнении арифметических операций в ЭВМ применяются модифицированные коды, которые отличаются от простого использованием для изображения знака числа двух разрядов. Второй знаковый разряд служит для автоматического обнаружения ситуации переполнения разрядной сетки: при отсутствии переполнения оба знаковых разряда должны иметь одинаковые цифры (нули или единицы), а при переполнении разрядной сетки цифры в них будут разные. Сложение производится по обычным правилам сложения двоичных чисел: единица переноса, возникающая из старшего знакового разряда, просто отбрасывается. Примеры сложения (запятая условно отделяет знаковый разряд от самого числа):
Х = –1101; Y = 1001. Результат сложения: 11,0011 + 00,1001 = 11,1100 (или –0100);
Х = 1101; Y = 1001. Результат сложения: 00,1101 + 00,1001 = 01,0110 (переполнение, после сдвига вправо получим 00,10110, или +10110);
Х = 1101; Y = –1001. Результат сложения: 00,1101 + 11,0111 = 100,0100 (или 00,0100);
Х = –1101; Y = –1001. Результат сложения: 11,0011 + 11,0111 = 10,1010 (переполнение, после сдвига вправо получим 11,01010, или –10110).
Умножение чисел в дополнительных кодах осуществляется по обычным правилам умножения двоичных чисел. Единственной особенностью является то, что если сомножитель является отрицательным (знаковые разряды равны 11), то перед началом умножения следует приписать к нему слева столько единиц, сколько значащих разрядов у другого сомножителя справа от запятой. Результат (произведение) всегда в дополнительном коде.
ПРИМЕЧАНИЕ
Добавление единиц слева перед отрицательным числом не изменяет его величины, так как перед положительным числом можно написать сколь угодно нулей, не изменяя величины числа; наоборот, перед отрицательным числом (в дополнительном или обратном кодах) добавление лишних нулей недопустимо.
Примеры операции умножения:
Х = 00,111 · 00,101 = 00,100011

00,111
× 00,101
________________





__________


Х = 00,111 · 11111,011 = 11,011101

00,111
× 11111,011
_________________








___________________________
0011011,010101 11,011101

Х = 11111,001 · 00,101 = 11,011101
11111,001
× 00,101






001011,011101 11,01101

Х = 11111,001 · 11111,011 = 00,100011
11111,001
× 11111,011








1111010000,100011 00,100011
Особенности выполнения операций в обратных кодах
Обратные коды следует складывать как обычные двоичные числа, поступая со знаковыми разрядами, как с обычными разрядами, а если возникает единица переноса из знакового разряда, ее следует прибавить к младшему разряду суммы кодов. Последнее обстоятельство (возможное добавление 1 в младший разряд) увеличивает время выполнения операций в обратных кодах, поэтому в компьютере чаще используются дополнительные коды.
Выполнение арифметических операций в шестнадцатеричной системе счисления
Арифметические операции в шестнадцатеричной системе в машине не выполняются. Операции сложения и вычитания иногда приходится выполнять при программировании, например, при вычислении полных адресов ячеек памяти (при сложении и вычитании адресов сегмента, базы, индекса, смещения). Правила их выполнения обычные для позиционной системы счисления. Примеры операции сложения:
A58
+ 34C
= DA4
5BAC
+ 2A45
= 85F1

+ BEFA
= 7374B


Не сдавайте скачаную работу преподавателю!
Данный конспект лекций Вы можете использовать для создания шпаргалок и подготовки к экзаменам.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем конспект самостоятельно:
! Как написать конспект Как правильно подойти к написанию чтобы быстро и информативно все зафиксировать.