2. Выполнение арифметических операций над числами в двоичной системе счисления.
Коды двоичных чисел
- прямой код
- обратный код
- дополнительный код
В ЭВМ в процессе осуществляются все вычисления. Процессор имеет в своем составе АЛУ и УУ. В свою очередь АЛУ имеет сумматор. В сумматоре выполняются суммирования чисел и логические операции. Все арифметические операции сводятся к сложению ( например вычитание есть сложение в дополнительном коде, умножение - есть сложение со сдвигом влево, деление – есть сложение со сдвигом вправо) все остальные функции сводятся к выполнению арифметических операций (например: sin x раскладывается в ряд)
1. прямой код – получается из двоичного числа путем прибавления 0 – для положительного числа и 1 – для отрицательного числа. Знаковый разряд отделяется от двоичных записей числа точкой.
А10=13
А2=1101
Апрямой код=0.1101
0.-знак разряда
1101 – двоичная запись числа
B10=-11
B2=-1011
Bпрямой код=1.1011
1.-знаковый разряд
1011 – двойная запись числа
2. Обратный код
получается из прямого путем замены нулей на единицы, а единицы на нули в двоичной записи числа, знаковый разряд не изменяется. Примечание: для положительного числа коды не меняются.
Апрямой код=Аобратный код=Адополнительный код
Bпрямой код=1.1011
Bобратный код=1.0100
3. Дополнительный код
получается из обратного путем прибавления единицы в младший разряд.
Bпрямой код=1.1011
Bобратный код=1.0100
Bдополнительный код=1.0100+1=1.0101
А10=24
В10=-18
А2=11000
Апк=0.11000
Аок=0.11000
Адк=0.11000
Bпк=1.10010
Bок=1.01101
Bдк=1.01110
Выполнение арифметических операций в двоичной системе вычисления
x |
y |
z |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 примечание: при выполнении действий количества разрядов в двоичной записи числа должно быть одинаковым 101+добавляем 010.
2 примечание: вычитание заменяется сложением в дополнительных кодах
А=85
B=-58
А10=85
85 1
42 0
21 1
10 0
5 1
2 0
1
А2=1010101
А8=125
А2=1010101
А10=55
А10=5*16 (в 1 степени)+5*16 (в 0 степени)=80+5=85
B=-58
B10=-58
B2=111010
58 0
29 1
14 0
7 1
3 1
1
B8=72 B10=7*8 (в 1 степени)+7*2(в 0 степени)=56+2=58
B16=3A B10=3*16(в 1 степени)+10*16(в 0 степени)=48+10=58
Bпрямой код=1.0111010
Bобратный код=1.1000101
Bдополнительный код=1.1000110
Апк=0.1010101 (+85)+Bдк= 1.1000110 (-58) = 0.00011011