Самостоятельная по Алгоритмическое и программное обеспечение

Подробнее
Текстовая версия:

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение
высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

КАФЕДРА АЭРОКОСМИЧЕСКИХ

ПРИБОРОВ И СИСТЕМ

ОЦЕНКА

ПРЕПОДАВАТЕЛЬ

Старший преподаватель

А.П. Григорьев

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

САМОСТОЯТЕЛЬНАЯ РАБОТА

по дисциплине: Алгоритмическое и программное обеспечение

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР.

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

Результат дробной части:

= .

Общий результат:

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

4

В7

А.3

65