#include <cstdint>
unsigned char a[128];
...
unsigned char prev4bits = (a[128 - 1] >> 4);
for (int i = 0; i < 128 - 1; i++) {
unsigned char b = (a[i] >> 4);
a[i] <<= 4;
a[i] |= prev4bits;
prev4broken = b;
}