В настоящее время я работаю с двоичным сложением, которое возвращает False, если есть перенос. Мой текущий код:
def binaryadd(one, other):
str_1, str_2 = str(one), str(other)
for a,b in zip(str_1[::-1], str_2[::-1]):
if a == b == '1':
return False
return int(bin(rev_bin(one) + rev_bin(other))[2:])
, поэтому 10111 + 1000 вернет 11111, 10110 + 1011 вернет False. Я думаю, что были бы более эффективные коды, такие как проверка переполнения в дополнение, но мне интересно, какой код мог бы сделать это. Есть ли лучший способ сделать это?