This question already has an answer here:
I realize in some programming languages, random number generators generate a default value of 0 to 32767 (for example, in php, rand(); will return a float between 0 and 32767). What is the significance of such a random number? (As it is not a power of two or anything special like that.)
32767 + 1 is a power of 2 Binary representation of numbers uses powers of 2. So, in an 4-bit structure,
0101
is 2^0 x 1, 2^1 x 0, 2^2 x 1, and 2^3 x 0 which is 5.The MSB is used for sign and unsigned integers.
It is 2^15-1, so the max. value of a 16 bit signed int.
I guess, On 16-bit implementations (still common when the C89 standard was written) that was the largest signed integer.