私はPythonが初めてです。 Perlでは、特定のビットをスカラー変数(整数)に設定するには、vec()
を以下のように使用できます。Pythonのperl vec()関数と同等
#!/usr/bin/perl -w
$vec = '';
vec($vec, 3, 4) = 1; # bits 0 to 3
vec($vec, 7, 4) = 10; # bits 4 to 7
vec($vec, 11, 4) = 3; # bits 8 to 11
vec($vec, 15, 4) = 15; # bits 12 to 15
print("vec() Has a created a string of nybbles,
in hex: ", unpack("h*", $vec), "\n");
出力:
vec() Has a created a string of nybbles,
in hex: 0001000a0003000f
私はビット操作コードを記述することや、手動でstruct.packを使用せずに、Pythonで同じことを達成するためにどのように思っていましたか?
それを解決することができますが、ビット操作コードを言うときあなたは<< >をビットシフトを意味しますか>? – user2958652
ビット0〜3、4〜7などを設定しますが、ニブル3(ビット12〜15)、7(ビット28〜31)などを設定します。どちらの方法でも、 '等価物がない場合 – ikegami
[Bit array in Python](http://stackoverflow.com/q/11669178/2157640)の質問に役立つかもしれません。 – Palec