short and long are two of the numeric data types (char, short, int, long, float and double). Only char has a guarenteed size, which is 1 byte with a range of -127 to 126. The size of all the others is compiler-dependent, so you have to look in the compiler's header file limits.h to find out what they are.
typedef just creates an alias name for something else. For example, typedef int MYINT; creates a new datatype name MYINT that's the same as int.
const just means the value of the variable or function can't be changed.
You're still off. The standard doesn't assume two's complement, so the minimum required range is 127 to 127. Your limits.h header will be more specific to the hardware, so it's best to get these minimum ranges right from the standard document.