Автор работы: Пользователь скрыл имя, 07 Сентября 2011 в 08:42, контрольная работа
Перевод чисел из одной системы в другую с использованием промежу-точных систем счисления и изображение чисел в формате современных ЦВМ…………….………………………………...................….………...…….3
2. Сложение двоичных чисел…………….………………….………..….…...5
3. Умножение двоичных чисел……………….………………..…..…….……7
4. Деление двоичных чисел……………………..………………..…………..11
5. Сложение двоично-десятичных чисел………….………….……………..16
6. Умножение двоично-десятичных чисел………….…….………………...18
Список литературы…………………………………….…………….….…....21
РА = 1,0111
РВ - РА = 0,0001ДК = 0,0001ПК
РВ-РА = 1, следовательно, мантиссу числа А надо денормализовать, сдвинув на 1 разряд вправо и увеличив порядок на 1.
А | 0 | 01011110101000011100 | 0 | 1010 |
Сложение мантисс:
0,1100110111101000111
01,0010110010001010101
В данном случае мы получили временное ПРС мантиссы суммы, но в отличии от чисел с ФЗ, здесь возможна коррекция: сдвиг мантиссы суммы на один разряд вправо и увеличение на «1» порядка суммы.
А+В =10010110010,001010101 =4В2,2А8 =1202,1659
А+В | 0 | 10010110010001010101 | 0 | 1011 |
Проверка:
А+В=823,64+378,53=1202,17
Умножение двоичных чисел.
Числа С и Д перевести в 2СС и перемножить, изменяя форму представления, используя различные способы и алгоритмы умножения.
1. Знаки операндов: С>0, Д<0. Умножение числа с ФЗ в прямом коде, использование первого способа умножения.
С = 3810 = 1001102
Д = -8310 = -10100112
Спк=0,0100110
Дпк=1,1010011 М = 27
1: 0 1 = 1
2: 1 способ умножения
Спк – множитель
Дпк – множимое
Множитель | Сумма ЧП | Комментарии |
0,0100110
0,0010011 0,0001001 0,0000100 0,0000010 0,0000001 0,0000000 |
0,0000000 0000000
0,1010011 0000000 0,1010011 0000000 0,0101001 1000000 0,1010011 0000000 0,1111100 1000000 0,0111110 0100000 0,0011111 0010000 0,0001111 1001000 0,1010011 0000000 0,1100010 1001000 0,0110001 0100100 0,0011000 1010010 |
Сдвиги
Сложение Сдвиги Сложение Сдвиги Сдвиги Сдвиги Сложение Сдвиги Сдвиги |
(С*Д)пк = 1,00110001010010 М=214
(С*Д) = -110001010010 (2) = -3154(10)
Проверка:
38*(-83)=-3154
2. Знаки операндов: С<0, Д>0. Умножение чисел с ФЗ в дополнительном коде, использование второго способа и алгоритма с автоматической коррекцией.
С = -3810 = -1001102
Д = 8310 = 10100112
Спк=1,0100110
Дпк=0,1010011 М = 27
1: 0 1 = 1
2: 2 способ умножения
Сдк=1,1011010 – множитель
Ддк=0,1010011 – множимое
Множитель | Множимое | Сумма ЧП | Комментарии |
1,10110100
1,11011010 1,11101101 1,11110110 1,11111011 1,11111101 1,11111110 1,11111111 |
0,0000000 1010011
0,0000001 0100110 0,0000010 1001100 0,0000101 0011000 0,0001010 0110000 0,0010100 1100000 0,0101001 1000000 0,1001011 0000000 |
0,0000000 0000000
1,1111110 1011010 1,1111110 1011010 0,0000010 1001100 1,0000001 0100110 1,1111010 1101000 1,1111100 0001110 0,0010100 1100000 0,0010000 1101110 1,1010110 1000000 1,1100111 0101110 |
Сдвиги
Вычитание Сдвиги Сложение Сдвиги Вычитание Сдвиги Сдвиги Сложение Сдвиги Вычитание Сдвиги |
(С*Д)пк = 1,00110001010010 М=214
(С*Д) = -110001010010 (2) = -3154(10)
Проверка:
(-38)*83=-3154
3. Знаки операндов: С<0, Д<0. Представление их в форме с ФЗ в дополнительном коде и умножение их третьим способом, используя алгоритм с простой коррекцией.
С = -3810 = -1001102
Д = -8310 = -10100112
Спк=1,0100110
Дпк=1,1010011 М = 27
1: 1 1 = 0
2: 3 способ умножения
Сдк=1,1011010 – множитель
Ддк=1,0101101 – множимое
Множитель | Сумма ЧП | Комментарии |
0,1011010
0,0110100 0,1101000 0,1010000 0,0100000 0,1000000 0,0000000 |
0,0000000 0000000
0,0000000 0101101 0,0000000 0101101 0,0000000 1011010 0,0000001 0110100 0,0000000 0101101 0,0000001 1100001 0,0000011 1000010 0,0000000 0101101 0,0000011 1101111 0,0000111 1011110 0,0001111 0111100 0,0000000 0101101 0,0001111 1101001 0,0011111 1010010 |
Сложение
Сдвиги Сдвиги Сложение Сдвиги Сложение Сдвиги Сдвиги Сложение Сдвиги |
Особенность 3 способа умножения состоит в том, что в последнем такте не следует выполнять сдвиг в регистре сумм частичных произведений.
К псевдопроизведению прибавляем дополнительные коды от модулей дополнительных кодов обоих сомножителей, то есть их прямые коды, т.к. оба сомножителя отрицательны.
Коррекция:
0,00111111010010
0,01001100000000 сложение
0,10001011010010
0,10100110000000 сложение
0,00110001010010
(С*Д)пк = 0,00110001010010 М=214
(С*Д) = 110001010010 (2) = 3154(10)
Проверка:
(-38)*(-83)=3154
4. Знаки операндов: С>0, Д>0. Представление чисел в форме с ПЗ, умножение мантисс 4 способом.
Сначала исходные данные изобразим в разрядной сетке условной машины.
С = 3810 = 1001102 М = 26
Д = 8310 = 10100112 М = 27
Под мантиссу отведем 8 разрядов со знаком, под порядок 5 разрядов со знаком и изобразим данные числа в такой разрядной сетке.
0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
1: 0 0 = 0
2: Умножение мантисс 4 способом
Множитель | Множимое | Сумма ЧП | Комментарии |
0,1001100
0,0011000 0,0110000 0,1100000 0,1000000 0,0000000 |
0,0101001 1000000
0,0010100 1100000 0,0001010 0110000 0,0000101 0011000 0,0000010 1001100 0,0000001 0100110 |
0,0000000 0000000
0,0101001 1000000 0,0101001 1000000 0,0000101 0011000 0,0101110 1011000 0,0000010 1001100 0,0110001 0100100 |
Сложение Сдвиги Сдвиги Сдвиги Сложение Сдвиги Сложение Сдвиги Сдвиги |
Особенность 4 способа умножения состоит в том, что перед началом цикла умножения следует множимое сдвинуть на один разряд вправо.
Мантисса произведения:
(С*Д)пк = 0,0110001 0100100
Вычислим порядок:
РС = 0,0110
РD = 0,0111
РC + РD = 0,1101
Нормализуем мантиссу результата, сдвинув её на один разряд влево, и вычтем из порядка единицу.
0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 |
0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
Так как в разрядной сетке условной машины под мантиссу отведено n разрядов, то необходимо округление мантиссы результата.
(С*Д) = 0,1100010(1)*212=110001010000(
Проверка:
(-38)*(-83)=3154
Ошибка округления: 2
Деление двоичных чисел.
1. Знаки операндов: C>0 - делимое, D<0 - делитель. Представление чисел в форме с ФЗ в прямой коде, деление I способом с восстановлением остатков с использованием ОК при вычитании. Оценка погрешности округления.
С = 3810 = 1001102