Лабораторная работа №4 Числа в памяти компьютера
Рахманова А.А.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
КАФЕДРА (ИФ ГУАП №2)
|
ОЦЕНКА
ПРЕПОДАВАТЕЛЬ
преподаватель |
|
|
|
Дагаев А.В. |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ
|
(Числа в памяти компьютера)
|
по дисциплине: (Основы теории информации) |
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
Z222K |
|
|
|
Рахманова А.А. |
|
номер группы |
|
подпись, дата |
|
инициалы, фамилия |
Студенческий билет № |
2022/4682 |
|
|
|
Ивангород 2022г.
Оглавление
Цель работы 3
Задание 3
– Калькулятор 4
Вывод 6
Цель работы
Научиться выполнять перевод чисел в разные системы счисления. Ознакомиться с написанием кода программы калькулятора СС.
Задание
Написать программу перевода в разных система счисления.
Название файла: Лабораторная работа №4
– Калькулятор
Изучив перевод чисел системы счисления математическим способом, попробуем написать программу-калькулятор для данных действий: перевод чисел в n-ую СС.
Для начала выбираем язык программирования, для меня более лучшим оказался Python.
Приступаем к написанию кода.
Для начала возьмём переменную – а, обозначим её числом.
а = int(input())
В данном случае будет для обозначения, какое число необходимо перевести в n-ую СС.
Далее, переменная – n, так же обозначим числом.
n = int(input())
В данном случае будет обозначать в какую СС необходимо перевести число.
Так же необходимо записывать ответ, предположим это будет s, следовательно
s = ‘ ‘
Далее сделаем собственный алфавит для обозначения точного результата, т.к. в 16-ричной СС присутствуют буквы.
al = ‘ABCDEF’
Следом напишем условие для нашего калькулятора, используя знания перевода чисел в n-ую СС.
while a > 0:
c = a % n
if = c < 10:
Для того что бы наш ответ был не в столбик, а в строчку, напишем условие.
s = str(c) + s
Для СС которая использует буквы пропишем условие, для этого создали алфавит в начале кода, используем его.
else:
s = a[c-10] + s
a // = n
Выводим на экран получившийся результат.
Print(s)
Получается:
а = int(input())
n = int(input())
s = ‘ ‘
al = ‘ABCDEF’
while a > 0:
c = a % n
if = c < 10:
s = str(c) + s
else:
s = al[c-10] + s
a // = n
Print(s)
Калькулятор перевода из 10-ной СС в n-ую, нужно и обратное действие.
Напишем условие обратного перевода из2-ой СС в 10-ую СС, используя знания перевода СС.
а = input()
n = int(input())
power = 1
ans = 0
for i in a[::-1]:
ans += int(i)*power
power *= n
print(ans)
Вывод
Таким образом, у нас получилось два калькулятора. Первый переводит из десятичной системы счисления в любую систему счисления, второй для перевода из двоичной системы в десятичную.