Автор работы: Пользователь скрыл имя, 31 Марта 2014 в 00:32, контрольная работа
Задание на контрольную работу.
Системы счисления
Умножить в двоичной арифметике числа a и b.
a=101,012
b=101,112
Федеральное агентство связи
Сибирский Государственный Университет Телекоммуникаций и Информатики
Межрегиональный центр переподготовки специалистов
Выполнил: Иванов Павел Юрьевич
Группа: ПБТ-22
Вариант: 6
Проверил: ___________________
Новосибирск, 2012 г
Задание на контрольную работу.
Системы счисления
a=101,012
b=101,112
10101
x 10111
10101
+ 10101
111111
+ 10101
10010011
+ 10101
111100011
Ответ: 11110,0011
a=11,3125
Перевод
целой части:
11| 4
3| 8| 4
2| 0
1110 = 234
Перевод дробной части:
0,3125 0,25
x 4 x 4
1,2500 1,00
0,312510 = 0,114
Ответ: 11,312510
= 23,114
a=10011,10(001)
Для перевода целой части необходимо
умножить разряд числа на соответствующую
ему степень разряда.
10011 = 24*1 + 23*0 + 22*0 + 21*1 + 20*1 = 16 + 0 + 0 + 2 + 1 = 19
Для перевода дробной части
необходимо разделить разряд числа на
соответствующую ему степень разряда
10 = 2-1*1 + 2-2*0 = 0.5
Ответ: 19,5
А куда делась периодическая часть?
Ответ: 19,5(3125) дробная часть неправильно
Решение:
Перевод целой и непериодической дробной части:
10011,10=1*24+1*21+1*20+1*2-1=
Перевод периодической дробной части:
0,(001)2= =
0,..(001)2=2-2*0,(001)2=
Проверка:
*2=
=0
- период
Ответ: + =
a=105,23
105,238
= 001 000 101, 010 0112
0100 0101, 0100 11002 = 45,4C16
Ответ: 105,238
= 45,4C16
Представление информации в компьютере
81-85-69-69-78
Очень просто вычисляется путем нажатия на клавиатуре Alt + код_символа
Q-U-E-E-N
RAINBOW
82657378667987 неправильно. И разделяйте коды хотя бы пробелами.
82 65 73 78 66 79 87 читаем задание внимательно: Записать текст шестнадцатеричными кодами
Проверка с помощью Alt+код_символа: R A I N B O W
52 41 49 4E 42 4F 57
a= –30
b=7
0101112 = -2310 решения не вижу
Ответ: a+b = -2310
a=-3010=111000102 ячейка 6-значная по условию
b=710=1112 ячейка 6-значная по условию
Складываем:
+11100010
111
--------
11101001
111010012=-2310
Ответ: -2310
Запишем числа как двоичные со знаком в 6-ти разрядной ячейке:
[1]11110 - запись числа -30
[0]00111 – запись числа 7
Прямой код числа 30 → 011110
Дополнительный код -30:
011110 |
||
100001 |
Инверсиия | |
+ |
1 |
|
100010 |
Сложение:
100010 | |
+ |
000111 |
101001 |
Т.к. в знаковом разряде стоит 1, значит число отрицательное, записан его дополнительный код. Переводим:
101001 | |
010110 | |
+ |
1 |
010111 |
0101112 →1*24+1*22+1*21+1=-2310
Ответ:
[1]11110, [0]00111
-2310
a=110,12
b=1002
10.100000 = 2,5 решения нет
Ответ: a-b = 2,5
Вычитаем:
-110,1
100
--------
10,1
10,12=-2,510
Проверка: 6,5-4=2,5
Ответ: 10,12
Опять внимательно читаем задание: Применить алгоритм компьютерного вычитания вещественных чисел.
Нормализуем числа а и b:
110,12=0,1101*23
1002=0,1*23
a-b=0,1101*23-0,1*23=23(0,
Выполняем вычитание мантисс:
0,1101 | |
- |
0,1000 |
0,0101 |
a-b=0,0101*23 Нормализуем
a-b=0,101*22
Ответ: a-b=0,101*22
a=100102
b=0,01112 решения нет
Ответ: a*b = 7,85710
Умножаем:
* 10010
00111
--------
1001
1001
1001
---------
00111,1110
00111,11102=7,8571010
Ответ: 00111,11102
И где здесь компьютерный алгоритм?
Нормализуем числа:
а=100102=0,1001*25
b=0,01112=0,111*2-1
Перемножаем числа:
1001 | |
х |
111 |
1001 | |
+ |
1001 |
11011 | |
+ |
1001 |
111111 |
a*b=0,1001*25*0,111*2-1=25+(-
Нормализуем:
24*0,0111111=23*0,111111=111,
111,1112=
100102=1*24+1*21=18
0,01112=
a*b=18* =
Примечание:
По алгоритму компьютерного умножения вещественных чисел, результат вначале округляется и только затем, при необходимости, нормализуется мантисса. А в примере 11, происходит нормализация, и только потом округление. На нашем примере:
a*b=24*0,0111111. Т.к. мантисса = 6, округляем результат - в 7-м разряде стоит 1, прибавляем 1 к 6-му разряду:
0,011111 | |
+ |
0,000001 |
0,100000 |
В этом случае нормализации не требуется.
a*b=24*0,1=10002=1*23=810
Результат равен 8 и не точный.
113,4375
Переведем число а:
113,437510 = 1110001,01112
Нормализуем:
1110001,0111 = 0,11100010111*27
Порядок со сдвигом:
128+7=13510=100001112
Ответ:
47 46 8 7 0
|0 |