Конечно! Вот пример программы на языке Python, которая переводит переданное ей целое число (возможно, отрицательное) в двоичный код. Для этого используется процедура (функция).
def int_to_binary(n):
"""
Функция, которая переводит целое число в двоичное представление.
:param n: целое число
:return: строка, представляющая двоичное представление числа
"""
if n == 0:
return "0"
is_negative = n < 0
n = abs(n)
binary_str = ""
while n > 0:
binary_str = str(n % 2) + binary_str
n = n // 2
if is_negative:
binary_str = "-" + binary_str
return binary_str
# Пример использования функции
if __name__ == "__main__":
number = int(input("Введите целое число: "))
binary_representation = int_to_binary(number)
print(binary_representation)
Пояснение работы программы:
Функция int_to_binary(n):
- Принимает целое число
n
.
- Если число равно 0, сразу возвращает строку
"0"
.
- Проверяет, является ли число отрицательным (
is_negative = n < 0
). Если да, то устанавливает флаг is_negative
в True
и берет модуль числа (abs(n)
).
- Инициализирует пустую строку
binary_str
, которая будет содержать двоичное представление числа.
- Использует цикл
while
, чтобы делить число n
на 2 и сохранять остаток от деления в строку binary_str
. Результат деления используется для следующей итерации до тех пор, пока n
не станет равным 0.
- Если флаг
is_negative
установлен в True
, добавляет минус к началу строки binary_str
.
- Возвращает строку
binary_str
, которая теперь содержит двоичное представление числа.
Основная часть программы:
- Считывает целое число с ввода пользователя.
- Вызывает функцию
int_to_binary
для преобразования введенного числа в двоичное представление.
- Выводит двоичное представление числа на экран.
Примеры работы программы:
- Для входного числа
5
:
- Для входного числа
-14
:
Эта программа корректно обрабатывает как положительные, так и отрицательные числа, и выводит их двоичное представление.