4-Digit Display Error

I will see if I understand what int8_t means.

As I said, It means 8 bit integer. The _t at the end stands for "type". The reason why sometimes you find int8_t, int16_t, uint32_t instead of char, int, unsigned long, etc. is C data types can be of different size if the code is compiled on different architectures. An "int" might be 16 bit wide on a 8 bit cpu, 32 bit on a 32 one and 32 or 64 bit on a 64 bit cpu. Likewise, "long" might be 128 bit on a core i7 and just 32 bit on a 486. Types like uint8_t, instead, are the same everywhere: 8 bit wide unsigned integer. It helps code portability.
There's a reason C has sizeof() :wink: