The shift operation in show_bits() was buggy because p[0] is promoted
to int, and the shift p[0] << 24 results in undefined behavior,
causing the sanitizer of gcc to complain:
bitstream.h:40:21: runtime error: left shift of 230 by 24 places cannot be represented in type 'int'