Вчём ошибка?
import datetime
# step 2
birth_day = int(input("day of birth: "))
birth_month = int(input("month of birth: "))
birth_year = int(input("year of birth: "))
day = int(datetime.date.)
month = int(datetime.date.)
year = int(datetime.date.)
# step 3
if year > birth_year:
age = year - birth_year
else:
age = (year - birth_year) - 1
# step 4
a = age
b = abs(month - birth_month)
c = abs(day - birth_day)
print(f"your age: {a} years, {b} months, {c} days")
1011010
Объяснение:
Алгоритм перевода в двоичную систему:
1)
Переводим модуль числа в двоичную систему
Выполнить деление исходного числа на 2. Если результат деления больше или равен 2, продолжать делить его на 2 до тех пор, пока результат деления не станет равен 1
2). Выписать результат последнего деления и все остатки от деления в обратном порядке в одну строку.
3) выполняем инверсию всех битов
4) к результату добавляем 1
Получается:
1) делим -89 на 2 = 44, остаток 1 - пишем -1, т. к. остаток 1
2) 44/2=22, без остатка, пишем 0
3) 22/2=11, без остатка, пишем 0
4) 11/2=5, остаток 1, пишем 1
5) 5/2=2, остаток 1, пишем 1
6) 2/2=1, без остатка, пишем 0
7) 1/2=0, остаток 1, пишем 1
Записываем в обратном порядке полученные 7 цифр 1011001
3) 0100110
4) 0100110
+ 1
получаем 1011010