Fix signal interpretation when signals get near the end of the 64 bits.
This commit is contained in:
@@ -189,8 +189,10 @@ public:
|
||||
bit = startBit;
|
||||
for (int bitpos = 0; bitpos < sigSize; bitpos++)
|
||||
{
|
||||
if (data[bit / 8] & (1 << (bit % 8)))
|
||||
result += (1ULL << bitpos);
|
||||
if (bit < 64) {
|
||||
if (data[bit / 8] & (1 << (bit % 8)))
|
||||
result += (1ULL << bitpos);
|
||||
}
|
||||
bit++;
|
||||
}
|
||||
}
|
||||
@@ -199,8 +201,10 @@ public:
|
||||
bit = startBit;
|
||||
for (int bitpos = 0; bitpos < sigSize; bitpos++)
|
||||
{
|
||||
if (data[bit / 8] & (1 << (bit % 8)))
|
||||
result += (1ULL << (sigSize - bitpos - 1));
|
||||
if (bit < 64) {
|
||||
if (data[bit / 8] & (1 << (bit % 8)))
|
||||
result += (1ULL << (sigSize - bitpos - 1));
|
||||
}
|
||||
|
||||
if ((bit % 8) == 0)
|
||||
bit += 15;
|
||||
|
||||
Reference in New Issue
Block a user