3
は、私はちょうどpythonでbitarrayパッケージの使用を開始する、と整数からbitarrayは私に本当に混乱した結果を与える作るしようとしている:整数からのPythonビット配列の作成 - 奇妙な結果!
>>> import bitarray
>>> bitarray.bitarray(5)
bitarray('01000')
>>> bitarray.bitarray(5)
bitarray('00010')
>>> bitarray.bitarray(5)
bitarray('00100')
>>> bitarray.bitarray(5)
bitarray('00110')
誰もこれが起きてしまう理由を任意のアイデアを持っています?
また、intからのビット配列を作成するにはどうすればよいでしょうか?これは動作しますが、文字列変換は、それを行うには奇妙な方法のように思える...
>>> bitarray.bitarray(bin(5)[2:])
bitarray('101')
編集:私はint型からビット列を得るための簡単な方法を持っていた、bitstringに切り替えてしまった:
>>> bitstring.BitArray(uint=5,length=6)
BitArray('0b000101')
... Duh!なぜ私はそれについて考えなかったのか分かりません。それは明らかにそれが何をしているのかです。ありがとう! – weronika
fromint()関数が存在しない理由は、 "integer"がPythonではあまり定義されていないからです。 long()とint()はどちらも整数型なので、どちらかをサポートする代わりに、.frombytes()のニュートラルインタフェースを好むように思われます。これは、他の基本型を扱うのはかなり簡単です。 – meawoppl