Выведите двоичный файл, затем отрицайте без дополнения в Python

Я новичок в Python и пытался сделать что-то вроде этого:

a=23
"{0:b}".format(a)

---> '10111'

тогда я хочу отрицать это, БЕЗ тех, кто дополняет, результат должен быть '01000', но ничего не работает

во-вторых, я должен был бы заполнить левую сторону нулями, я нашел что-то вроде

"{0:12b}".format(a)
'       10111'

но это только делает строку длиннее, заполняя ее пробелами

РЕДАКТИРОВАТЬ: идеальное решение для меня будет

"{0:12b}".format(a)
'000000010110' 
"{0:12b}".format(~a)
'111111101001'

(что, конечно, не работает таким образом)

1 ответ

Решение

Положить 0 напротив 12 чтобы дополнить вывод нулями.

In [1]: "{0:012b}".format(a)
Out[1]: '000000010111'

В случае с компом, вы можете выполнить строковые манипуляции или математический способ:

 In [2]: "{0:012b}".format(2**12-1-a)
 Out[2]: '111111101000'

Просто измените 2**12 на количество цифр, которые вы хотите отобразить

Другие вопросы по тегам