Первое число задано в шестнадцатеричной системе счисления (в конце числа символ H). В шестнадцатеричной системе счисления каждая цифра занимает 4 бита. Осуществим преобразование:
HEX
BIN
Так как, из задания известно, что размер данных два байта (16 бит) допишем слева незначащие нули, так чтобы общее количество бит было 16.
0000 0001 0010 0011 B
Получаем результат преобразования:
123H = 00000001 00100011B
Второе число имеет восьмеричную систему счисления (в конце символ O). В восьмеричной системе счисления каждая цифра занимает три бита. Произведем преобразования в двоичную систему счисления:
OCT
BIN
Дополним результат до двух байт незначащими нулями. В результате получаем:
321O = 00000011 00100001B
Третье число имеет десятичную систему счисления (в конце числа символ D). Для преобразования воспользуемся методом последовательного деления на основание двоичной системы, т. е. на 2.
25:2
=12
25–(12*2)
=1
12:2
=6
12–(6*2)
=0
6:2
=3
6–(3*2)
=0
3:2
=1
3–(1*2)
=1
Запишем результат, дополнив его незначащими нулями до размера два байта:
25D = 00000000 00011001B
Все числа преобразованы в двоичную систему счисления. Теперь переходим к выполнению арифметических действий. Выполним первое действие в двоичной системе:
+
123H
321O
перенос
результат
Бит переноса равен 0.
Для второго действия
–
25D
заём
результат
Бит переноса равен 0.
Для третьего действия
+
1001110100B
перенос
результат
В результате имеем
123H + 321O – 25D + 1001110100B = 0000000111011011 B