我想解決一個二元難題,我的策略是轉換零和一個網格,並且我想確保每行都有相同數量的0和1.在Python中獲取零和一個二進制數的個數
有什麼方法可以統計一個數字有多少個1和0,而不需要迭代數字?
什麼我目前做的是:
def binary(num, length=4):
return format(num, '#0{}b'.format(length + 2)).replace('0b', '')
n = binary(112, 8)
// '01110000'
and then
n.count('0')
n.count('1')
是否有這樣做的任何更有效的計算(或數學的方式)?
你能解釋的範圍(1 << 20)?我不明白它是什麼產生的 – nick
1 << 20是(2 ** 20)-1 –
你不想要範圍從0,20? – nick