- •Вычитание двоичных чисел
- •Вычитание в дополнительном коде
- •Отрицательные двоичные числа
- •Сложение в bcd-формате
- •Вычитание в bcd-формате
- •Другие тетрадные системы счисления
- •Код Айкена
- •Код Грея
- •Перевод двоичных чисел в шестнадцатеричную систему счисления
- •Преобразование восьмеричных чисел
- •Дополнительный двоичный код
- •Код Хемминга
Сложение в 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.