make dec8.bit.Bitfield reversible
This commit is contained in:
parent
e8dfe4790e
commit
10d356225d
1 changed files with 14 additions and 0 deletions
14
dec8/bit.py
14
dec8/bit.py
|
@ -13,6 +13,20 @@ class Bitfield:
|
|||
self.value |= value
|
||||
self.length += length
|
||||
|
||||
def shift_out(self, length):
|
||||
mask = 2**length - 1
|
||||
tmp = self.value & mask
|
||||
self.value >>= length
|
||||
|
||||
return tmp
|
||||
|
||||
def load(self, raw):
|
||||
self.value = 0
|
||||
self.length = 0
|
||||
|
||||
for b in raw:
|
||||
self.shift_in(b, 8)
|
||||
|
||||
def dump(self, align=True):
|
||||
value = self.value
|
||||
length = self.length
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue