Контрольная работа с курса Компьютерная математика – 10 заданий
Код роботи: 3066
Вид роботи: Контрольна робота
Предмет: Комп'ютерна математика (Компьютерная математика)
Тема: 10 заданий
Кількість сторінок: 7
Дата виконання: 2016
Мова написання: російська
Ціна: безкоштовно
Задание 1
Умножить в двоичной арифметике числа a и b.
a = 101,012
b = 11,12
Задание 2
Перевести число a из десятичной в систему счисления по основанию 4.
a10= 12,4375
Переводим отдельно целую и дробную части.
При переводе целой части делим на основание новой системы счисления до тех пор пока получим неделимое число. Результат и остатки и будут цифрами в новой системе счисления. Причем все действия производятся в изначальной системе счисления
При переводе дробной части производим умножение на основание новой системы счисления. Причем та целая часть, которая будет получаться, будет цифрой в новой системе счисления. Причем целая часть при последующем умножении отбрасывается и умножается только дробная.
Задание 3
Перевести число a из двоичной в десятичную систему счисления.
a = 1100,10(01)
Переводим отдельно целую и дробные части.
Целую часть переведем методом подбора степеней оснований.
ацел10 = 1*23 + 1*22 + 0*21 + 0*20 = 8 + 4 = 12
Дробная часть представляет собой периодическую бесконечную дробь. Заметим, что при переводе в другую систему счисления может получится либо периодическая дробь либо конечная дробь.
Переводим дробную часть:
В итоге получаем a10 = 12,58(3).
Задание 4
Перевести число а из восьмеричной в шестнадцатеричную систему счисления.
а8 = 706,53
Переводим отдельно целую и дробную части из восьмеричной в двоичную систему счисления.
7 |
0 |
6 |
, |
5 |
3 |
111 |
000 |
110 |
, |
101 |
011 |
111 000 110,101 011 → 0001 1100 0110,1010 1100
Переводим отдельно целую и дробную части из двоичной в шестнадцатеричную систему счисления.
0001 |
1100 |
0110 |
, |
1010 |
1100 |
1 |
C |
6 |
|
A |
C |
а16= 1C6,AC
Задание 5
Даны десятичные коды символов из таблицы ASCII (для удобочитаемости коды символов разделены дефисом). Определить закодированный текст.
77-79-85-83-69
MOUSE
Задание 6
Записать текст шестнадцатеричными кодами таблицы ASCII/
PARROT
50-41-52-52-4F-54
Задание 7
Вычислить a + b. Оба числа записать как двоичные целые со знаком в 6-ти разрядной ячейке памяти. Результат перевести из двоичного в десятичный вид.
a = -18
b = 11
Число -18 переводим в дополнительный код. Для начала представим число в двоичном виде.
1810 = 0100102
Затем для перевода в дополнительный код необходимо закодировать знак. Для отрицательного числа он будет равен 1. Также необходимо инвертировать наше число.
101101
и в младший разряд добавить 1.
-18доп = 101110
Переводим число 11 в дополнительный код. Для положительных чисел прямой и дополнительный код совпадают. Здесь знак кодируется 0, т.к. число положительное.
11доп = 001011
Первая единица значит, что получившееся число отрицательное. Отнимаем от результата единицу
111000
и инвертируем
000111
Переводим число из двоичной системы в десятичную.
0001112 = 1 * 22 + 1 * 21+ 1 * 20 = 7
Учитывая, что число отрицательное, получаем -7. Результат наших вычислений совпал с результатом, вычисленным в десятичной системе.
Задание 8
Вычислить a - b. Применить алгоритм компьютерного вычитания вещественных чисел. Длина мантиссы равна 6 разрядам.
а = 10,012
b = 0,1012
Представим числа а и b в следующем виде:
10,012= 0,010010 * 211
0,1012= 0,000101 * 211
где 2 – основание системы счисления, 11 – порядок (112 = 310).
Выполним вычитание мантисс:
Результат 0,001101 * 211 = 1,1012
Задача 9
Вычислить a x b. Применить алгоритм компьютерного умножения вещественных чисел. Длина мантиссы равна 6 разрядам. Результат перевести в 10-е число и сравнить с точным значением.
a = 10112
b = 0,10112
Решение: Нормализуем числа a и b:
a = 10112 = 0,1011 * 24
b = 0,10112 = 0,1011 * 20
Мантиссы перемножаются:
Порядок: 4+0 = 4
Итого: 0,01111001*24
Округляем до 6 разрядов:
И выходит результат
111,112 = 7,7510
Если выполнить десятичное умножение, получим
11 * 0.6875 = 7,5625
Различие наших результатов обусловлено тем, что при машинном умножении сохраняются не все разряды.
Ответ: a x b=111,112 = 9,7510; 11 * 0.6875 = 7,5625
Задача 10
Записать числоа в ячейку памяти компьютера, предназначенную для типа REAL.
а = 88,6875
Решение: Тип REAL занимает 4 байта. Это 32 бита, где 1 бит отведен под знак, 8 бит под смещенный порядок и остальные под мантиссу. Сначала переведем в двоичную систему счисления:
8810 = 10110002 = 0,1011000 * 27
Дробная часть:
адр = 0,1011.
Имеем: 1011000,1011 = 0,10110001011* 27
Теперь рассчитаем смещенный порядок. Т.к. у нас порядок кодируется 8-ми битами, то 128+7 = 135. Переводим в двоичную систему счисления:
1352 = 100001112
И в итоге, получаем:
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
||
|
|
мантисса |
|
|
порядок |
|
|||||||||||||||||||||||||||