Самостоятельная по Алгоритмическое и программное обеспечение
Тип работы
Факультет
Преподаватель
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение
высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
КАФЕДРА АЭРОКОСМИЧЕСКИХ ПРИБОРОВ И СИСТЕМ |
ОЦЕНКА
ПРЕПОДАВАТЕЛЬ
Старший преподаватель | А.П. Григорьев | |||
должность, уч. степень, звание | подпись, дата | инициалы, фамилия |
САМОСТОЯТЕЛЬНАЯ РАБОТА |
по дисциплине: Алгоритмическое и программное обеспечение |
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. | Z6111 | Г.С.Смирнов | |||
номер группы | подпись, дата | инициалы, фамилия |
Санкт-Петербург 2021
Задание: Перевести каждое из чисел в двоичный, восьмеричный, шестнадцатеричный код
Вариант 11 |
791 |
139,8 |
183 |
10,2 |
101 |
Теоретическая часть.
Когда мы имеем нечётное число в любой момент процесса, мы переносим остаток (в данном случае всегда единицу) в результат, а когда чётное – записываем «0».
Окончательным результатом перевода числа из десятичной системы в двоичную будет запись единиц и нолей от последнего к первому.
Если мы имеем дело с дробным числом, то мы должны целую и дробную часть переводить отдельно. Дробная часть переводится следующим образом:
Вместо деления (как в целой части), мы умножаем дробную часть на «2». Когда мы получаем число больше единицы, мы записываем в результат «1», далее снова берём дробную часть и снова умножаем на «2». Если в результате умножения получается число меньше единицы,
в результат записывается «0». Действуем таким способом столько, сколько необходимо при определённой задаче, зависит от необходимого уровня точности результата. Либо до тех пор, пока в результате очередного умножения не получится целое число.
Окончательным результатом перевода дробной части будет запись нулей и единиц от первого к последнему.
В любой момент процесса, когда число не кратно «8», мы переносим остаток (от 1 до 7) в результат, а когда число делится на «8» без остатка записываем «0».
Окончательным результатом перевода числа из десятичной системы в восьмеричную будет запись остатков или нолей от последнего к первому.
Работая с дробными числами, мы должны действовать аналогично с переводом в двоичную систему счисления с той лишь разницей, что дробную часть необходимо умножать на «8».
Отличиями являются:
10 = А,
11 = B,
12 = C,
13 = D,
14 = E,
15 = F.
Решение:
Распишем последовательно каждое из чисел по варианту.
1. 791
Перевод в двоичный код:
Действие Остаток
791/2=395 1
395/2=197 1
197/2=98 1
98/2=49 0
49/2=24 1
24/2=12 0
12/2=6 0
6/2=3 0
3/2=1 1
1 1
Результат:
Перевод в восьмеричный код:
Действие Остаток
791/8=98 7
98/8=12 2
12/8=1 4
1
Результат:
.
Перевод в шестнадцатеричный код:
Действие Остаток
791/16=49 7
49/16=3 1
3
Результат:
.
2.
Перевод в двоичный код:
Целая часть:
Действие Остаток
139/2=69 1
69/2=34 1
34/2=17 0
17/2=8 1
8/2=4 0
4/2=2 0
2/2=1 0
1/2=0 1
Результат целой части:
10001011
Дробная часть:
0.8·2=1.6=0.6+1
1.6·2=1.2=0.2+1
1.2·2=0.4=0.4+0
0.4·2=0.8=0.8+0
0.8·2=1.6=0.6+1
Результат дробной части:
=
Общий результат:
10001011. 11001
Перевод в восьмеричный код:
Целая часть:
Действие Остаток
139/8=17 3
17/8=2 1
2/8=0 2
Результат целой части:
213.
Дробная часть:
0.8·8=6.4=0.4+6
0.4·8=3.2=0.2+3
0.2·8=1.6=0.6+1
0.6·8=4.8=0.8+4
0.8·8=6.4=0.4+6
Результат дробной части:
= .
Общий результат
.
Перевод в шестнадцатеричный код:
Целая часть:
Действие Остаток
139/16=8 11
8
Результат целой части:
8В.
Дробная часть:
0.8·16=4.8=0.8+4
0.8·16=12.8=0.8+12 12=C
Результат дробной части:
= .
Общий результат:
8В.С4
Перевод в двоичный код:
Действие Остаток
183/2=91 1
91/2=45 1
45/2=22 1
22/2=11 0
11/2=5 1
5/2=2 1
2/2=1 0
Результат:
.
Перевод в восьмеричный код:
Действие Остаток
183/8=22 7
22/8=2 6
Результат:
.
Перевод в шестнадцатеричный код:
Действие Остаток
183/16=11 7
Результат:
.
Перевод в двоичный код:
Целая часть:
Действие Остаток
10/2=5 0
5/2=2 1
2/2=1 0
Результат целой части:
1010
Дробная часть:
0.2·2=0.4=0.2+0
0.4·2=0.8=0.8+0
0.8·2=1.6=0.8+1
0.6·2=1.2=0.2+1
0.2·2=0.4=0.4+0
Результат дробной части:
=
Общий результат:
1010.00110
Перевод в восьмеричный код:
Целая часть:
Действие Остаток
10/8=1 2
Результат целой части:
.
Дробная часть:
0.2·8=1.6=0.6+1
0.6·8=4.8=0.8+4
0.8·8=6.4=0.4+6
0.4·8=3.2=0.2+3
0.2·8=1.6=0.6+1
Результат дробной части:
= .
Общий результат:
12.14631
Перевод в шестнадцатеричный код:
Целая часть:
Действие Остаток
10=А
Результат целой части:
А
Дробная часть:
0.2·16=3.2=0.2+3
Результат дробной части:
= .
Общий результат:
А.3
Перевод в двоичный код:
Действие Остаток
101/2=50 1
50/2=25 0
25/2=12 1
12/2=6 0
6/2=3 0
3/2=1 1
Результат:
.
Перевод в восьмеричный код:
Действие Остаток
101/8=12 5
12/8=1 4
Результат:
.
Перевод в шестнадцатеричный код:
Действие Остаток
101/16=6 5
Результат:
65
Соберем ответы в таблицу:
Степень | числа | ||||
№-1 | №-2 | №-3 | №-4 | №-5 | |
В 10-й | 791 | 139,8 | 183 | 10,2 | 101 |
в 2-й | 1100010111 | 10001011. 11001 | 10110111 | 1010.00110 | 1100101 |
в 8-й | 1427 | 213.63146 | 267 | 12.14631 | 145 |
в 16-й | 317 | 8В.С4 | В7 | А.3 | 65 |