Как перевести из десятичной системы в двоичный вид с определенным кол-вом символов?
Форматируй полученную строку. 
s1 = bin(3) #0b11
s2 = s1[2:] #11
s3 = '{0:>04s}'.format(s2) #0011
print(s3)
# ну или в одну строку
print('{0:>04s}'.format(bin(3)[2:]))
zfill спасет молодого программиста

>>> bin(777)[2:].zfill(22)
'0000000000001100001001'

хотя я бы просто использовал format

>>> format(777, '022b')
'0000000000001100001001'