Convert number to two's complement

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/usr/bin/python3
# Функция для перевода числа в доп. код
def binary(x):
if x < 0: # В случае, если число меньше 0
res = bin(x)[3:].zfill(8) # Преобразовываем число в бинарный код с ведущими нулями
res = res.replace("0","2").replace("1","0").replace("2","1") # Меняем местами единицы и нули в бинарном коде
res = eval("0b" + str(int(res))) + eval("0b1") # Переводим бинарный код обратно в число и прибавляем к нему 1
res = bin(res)[2:].zfill(8) # Преобразовываем число обратно в бинарный код
return res
return bin(x)[2:].zfill(8) # Во всех остальных случаях просто преобразовываем число в бинарный код с ведущими нулями
x=int(input())
print(binary(x))