Why does the standard of integer types in C require that the value of unsigned char not exceed (2 ^ CHAR_BIT) - 1 ? It is not clear why you need - 1 .

  • four
    You seem to have a couple of words in your question. - VladD

2 answers 2

Because the countdown always starts from scratch.

    "Not exceeded" - this means that it can be equal. And how do you place the number 2 8 = 256 (= 100000000 in the bit representation) in 8 bits? ...