Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
часть1.docx
Скачиваний:
17
Добавлен:
26.11.2019
Размер:
11.17 Mб
Скачать

Сложение в bcd-формате

Сложение происходит по тому же принципу, как и для двоичных чисел. Оно не представляет проблем до тех пор, пока результат не попадает в область псевдотетрад.

Пример——————————————————————————————

1 1

0 0 1 1 3

+ 0 1 1 0 + 6

1 0 0 1 9

Если при сложении возникает псевдотетрада, значит, сумма больше, чем 9 и должна представляться двумя тетрадами. В этом случае следует применить корректирующее сложение. К псевдотетраде следует прибавить число 6(10) = 0110. Тогда получают две тетрады.

Пример——————————————————————————————

Пример——————————————————————————————

В общем, действует правило:

Если при сложении двух ВСD-чисел получается результат, равный или боль­ший Ю , то для коррекции к результату нужно прибавить число 0110(2).

Сложение ВСD -чисел, которые состоят из нескольких тетрад, происхо­дит потетрадно справа налево. Если при сложении двух тетрад возникает переход в 5-ом разряде, то он передается к наименьшему разряду следую­щей тетрады. Прибавление коррекции ОНО нужно предпринимать всегда, если результат сложения двух тетрад равен или больше 10.

Пример——————————————————————————————

Если при добавлении коррекции 0110 к псевдотетраде происходит пере­ход в 5-ом разряде, то он также добавляется к наименьшему разряду следу­ющей тетрады.

Пример——————————————————————————————

Вычитание в bcd-формате

Вычитание в двоично-десятичном коде производится прибавлением допол­нения.

Различают дополнение до девяти и дополнение до десяти.

Дополнение до девяти К{9) ВСD-тетрады является дополнением тетрады до

1001(2) = 9(10)

Пример——————————————————————————————

Найдем дополнение до девяти от 0010.

Дополнением до девяти K(9) к 2(10) будет 7(10) = 0111(2).

Дополнение до десяти K(10) ВСD-тетрады является дополнением тетрады до 1010(2) = 1010).

Дополнение до десяти на 1 больше, чем дополнение до девяти.

Пример——————————————————————————————

Дополнением до десяти K(10) к 2(10) будет 8(10) = 1000(2).

Если от ВСD-тетрады A надо отнять ВСD-тетраду В, то следует образовать дополнение до десяти ВСD-тетрады В и прибавить его к ВСD-тетраде А.

Вычитание в двоично-десятичном коде сводится к сложению дополнения до десяти вычитаемого с уменьшаемым числом.

Если получается псевдотетрада, то производится коррекция прибавле­нием 0110. Перенос в 5-ом разряде указывает на то, что результат является положительным числом. Перенос при определении значения результата не учитывается.

Пример——————————————————————————————

K(10) от 7(10) = 0111(2) равен 3(10) = 0011(2)

Отрицательные BCD-числа должны быть распознаваемы как отрицатель­ные. Если при вычитании получается отрицательное число, это должно быть сразу понятно. Нужен особенный признак.

Если при сложении точного дополнения до десяти с ВСD-тетрадой не обра­зуется переноса в 5-й разряд, то результат является отрицательным числом.

Пример——————————————————————————————

Дополнением до десяти К(10) к 9(10) будет 1(10) = 0001(2)

0

1

1

1

В

+ 0

0

0

1

К10

1

0

0

0

Отрицательное число

Нет переноса в 5-й разряд.

Результат 1000 является отрицательным числом. Чтобы найти значение этого отрицательного числа, требуется обратное дополнение. Значение от­рицательного числа является его дополнением до десяти. Значит, надо ис­кать дополнение до десяти к 1000.

Дополнением до десяти К10) к 1000(2) = 8(10) будет 0010(2) = 2(10). Получается число 2. Следовательно, результатом вычитания являет­ся —2.

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