Used in variable declarations as a Type-Specifier to indicate that the variable may be marked with a negative sign, not limiting the minimum value to 0. It applies to char, int, and long data types. This is the default type-specifier.

The following table illustrates the difference between signed and unsigned variables.

Type Size Unsigned Signed (normal)
char 8 bits 0 to 255 -128 to 127
int16 bits 0 to 65,535 -32,768 to 32,767
long32 bits 0 to 4,294,967,295 -2,147,483,648 to 2,147,483,647
long long64 bits0 to
–9,223,372,036,854,775,808 to