Cast uint8_t value to unsigned before doing bit shift
diff --git a/src/bits.c b/src/bits.c
index 09b6da7..881258b 100644
--- a/src/bits.c
+++ b/src/bits.c
@@ -322,7 +322,7 @@
 
     for ( ; nbytes; nbytes--) {
         accu->v >>= 8;
-        accu->v |= *(--buffer->p_bw) << (LC3_ACCU_BITS - 8);
+        accu->v |= (unsigned)*(--buffer->p_bw) << (LC3_ACCU_BITS - 8);
     }
 
     if (accu->n >= 8) {