in reply to Run length encode a bit vector
I'm not sure your expected output is making sense as I think you have probably mis-counted the number of zeros in the second term because there is actually a run of eight zeros there.
$ perl -E 'say unpack q{b*}, pack q{N}, 0x01020304;' 10000000010000001100000000100000
As well as that, you seem to be parsing your data with the low-order bit first in each byte even though you have packed in network order. I would expect you bit vector to look like this
$ perl -E 'say unpack q{B*}, pack q{N}, 0x01020304;' 00000001000000100000001100000100
with expected output
7, -1, 6, -1, 7, -2, 5, -1, 2
Perhaps you could clarify your requirement.
Cheers,
JohnGG
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Run length encode a bit vector
by Anonymous Monk on Jan 05, 2012 at 12:24 UTC | |
by AnomalousMonk (Archbishop) on Jan 05, 2012 at 13:53 UTC | |
by Anonymous Monk on Jan 05, 2012 at 14:28 UTC |