Signedness

From Wikipedia, the free encyclopedia

In computing, signedness is a property of variables representing numbers in computer programs. A numeric variable is signed if it can represent both positive and negative numbers, and unsigned if it can only represent positive numbers.

Although this distinction is often made in computer processors, which require it to do arithmetic correctly, it is concealed by many programming languages. Generally, only languages which stay close to hardware's constraints (so-called "low-level" languages) require programmers to make the distinction. These include assembly language, C and C++.

While signed numbers can represent negative numbers they lose a range of larger numbers which can only be represented with unsigned numbers of the same size (in bits). This is because in signed variables, one bit is used to indicate signedness, dividing the number of positive values that can be represented by two. Unsigned variables can dedicate all their bits to the positive number range.

[edit] See also