Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
1. Сложите заданные числа -2+1,5=-0,5 на ДСОК с представлением в модифицированном виде, с контролем нарушения нормализации и модифицированным сдвигом.
а) Переведем числа, которые надо сложить, из десятичной системы счисления в двоичную и представим каждое двоичное число в нормальной форме в соответствии с условием (*), налагаемым на мантиссу.
-210= -102= -0,1*22 А =-0,1000*22
1,510=1,12=0,11*21 В =0,1100*21
0,|5
* |2
1,|0
b) Представим мантиссы чисел А и В в машинном виде: (количество разрядов m A и m B должны быть равными). В знаковой части 11 означают отрицательный знак числа, а 00 - положительный.
[ m A]0м =11,0111
[ m В]0 м =00,1100
с) Представим порядки чисел: p A – порядок числа А; p B – порядок числа В (0 в знаковой части числа означает, что число положительное, а 1 – число отрицательное):
[ p A]0=[0010] 0=0,0010
[ p B]0=[0001] 0=0,0001
d) Найдем разницу порядков, т.к. складывать числа можно только одинакового порядка (операция вычитания заменена операцией сложения):
[∆ p ]0 = [ p A]0 - [ p B]0 = 0,0010-0,0001=0,0010+1,1110=0,0001
1,1110
+ 0,0010
10,0000
+1
0,0001
∆ p =110
е) Разница порядков ∆ p >0, следовательно p A > p B. Необходимо уравнять порядки: p B нужно увеличить на 110 (на 1 разряд), следовательно, [ m B]0м надо уменьшить, т.е. сдвинуть вправо на 1 разряд:
[ m В’]0 м =00,0110
р С = p A= p В
f) Складываем мантиссы чисел А и В:
[ m В’]0 м =00,0110
+[ m A]0 м =11,0111
[ m С]0 м = 11,1101
g) Проверяем, есть ли нарушение нормализации. В данном случае нарушение нормализации слева, значит [ m С]0м надо сдвинуть влево на 2 разряда, а p С уменьшить на 2:
[ m С’]0 м =11,0111
[ p С]0=0,0010 - 0,0010=0,0010 + 1,1101=1,0000
1,0010
+1,1101
10,1111
+1
1,0000
p С=-00002=010
h) Представляем результат в десятичной системе счисления и получаем ответ.
С =-0,1000*20=-2-1=-0,5
Ответ: -0,5 (верно!)
2. Сложите заданные числа -12-9=-19 на ДСДК с представлением в модифицированном виде, с контролем нарушения нормализации и модифицированным сдвигом.
a) Переведем числа, которые надо сложить, из десятичной системы счисления в двоичную и представим каждое двоичное число в нормальной форме в соответствии с условием (*), налагаемым на мантиссу:
А =-1210=-11002=-0,110000*24
В =-710=-01112=-0,111000*23
b) Представим мантиссы чисел А и В в машинном виде (количество разрядов m A и m B должны быть равными). В знаковой части 11 означают отрицательный знак числа, а 00 – положительный:
[ m A]дм=11,010000
[ m В]дм=11,001000
c) Представим порядки чисел: p A – порядок числа А; p B – порядок числа В (0 в знаковой части числа означает, что число положительное, а 1 – число отрицательное):
[ p A]д= 0,0100
[ p В]д=0,0011
d) Найдем разницу порядков, т.к. складывать числа можно только одинакового порядка (операция вычитания заменена операцией сложения):
[∆ p ]д =[ p A]д – [ p В]д =0,0100-0,0011=0,0100+1,1101=0,0001,
1,1101
+ 0,0100
0,0001
e) Разница порядков ∆ p >0, следовательно p A > p B. Необходимо уравнять порядки: p B нужно увеличить на 110 (на 1 разряд), следовательно, [ m B]0м надо уменьшить, т.е. сдвинуть вправо на 1 разряд:
[ m В’]дм=11,1011 p B = p A
f) Складываем мантиссы чисел А и В. p С = p A,
[ m A]0м =11,010000
+[ m В’]0м =11,100100
[ m С]0 м =10,110100
g) Проверяем, есть ли нарушение нормализации. В данном случае нарушение нормализации справа, значит [ m С]0м надо сдвинуть вправо на 1 разряд, а p С увеличить на 1. [ m Сэ]0 м =11,011010 p С =5.
h) Представляем результат в десятичной системе счисления и получаем ответ:
С =-0,100110*25=-100112=-(16+2+1)=-19 – верно!
Дата публикования: 2015-09-17; Прочитано: 890 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!