Fix signal interpretation when signals get near the end of the 64 bits.

This commit is contained in:
Collin Kidder
2018-06-18 22:02:42 -04:00
parent 1a7d229bf2
commit 8842152346
2 changed files with 8 additions and 14 deletions
+8 -4
View File
@@ -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;