def dec2binr(n):
if n == 1:
return '1'
else: return (str(n%2)+dec2binr(n//2))[::-1]
[::-1] がないと、逆の正しい 2 進数が返されます。この場合、[::-1] は機能しません - n=40 の場合:
011000
私が期待するとき
101000
[::-1] がなければ
000101
これは逆ですが、正しいです。なぜこれが起こり、どうすれば修正できますか?